Jelajahi Sumber

Add support for Bazel to build modules

Add support for fastrpc modules to be built with bazel for
pineapple

Change-Id: Iaf655ee70258c745c3885ac9b0c82ff9f0830a8b
Signed-off-by: Anirudh Raghavendra <[email protected]>
Signed-off-by: John Moon <[email protected]>
Anirudh Raghavendra 2 tahun lalu
induk
melakukan
a62aa004fb
3 mengubah file dengan 66 tambahan dan 2 penghapusan
  1. 15 0
      BUILD.bazel
  2. 42 0
      define_modules.bzl
  3. 9 2
      dsp/fastrpc_trace.h

+ 15 - 0
BUILD.bazel

@@ -0,0 +1,15 @@
+# Bazel file for fastrpc
+# Three modules to be exported - frpc-adsprpc,
+# cdsp-loader and frpc-trusted
+
+package(
+    default_visibility = [
+        "//visibility:public",
+    ],
+)
+
+load(":define_modules.bzl", "define_modules")
+
+define_modules("pineapple", "consolidate")
+
+define_modules("pineapple", "gki")

+ 42 - 0
define_modules.bzl

@@ -0,0 +1,42 @@
+# TODO
+# Add ddk module definition for frpc-trusted driver
+
+load(
+    "//build/kernel/kleaf:kernel.bzl",
+    "ddk_headers",
+    "ddk_module",
+    "kernel_module",
+    "kernel_modules_install",
+)
+
+def define_modules(target, variant):
+    kernel_build_variant = "{}_{}".format(target, variant)
+
+    # Path to dsp folder from msm-kernel/include/trace directory
+    trace_include_path = "../../../{}/dsp".format(native.package_name())
+
+    ddk_module(
+        name = "{}_frpc-adsprpc".format(kernel_build_variant),
+        kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
+        deps = ["//msm-kernel:all_headers"],
+        srcs = [
+            "dsp/adsprpc.c",
+            "dsp/adsprpc_compat.c",
+            "dsp/adsprpc_compat.h",
+            "dsp/adsprpc_rpmsg.c",
+            "dsp/adsprpc_shared.h",
+            "dsp/fastrpc_trace.h",
+        ],
+        local_defines = ["DSP_TRACE_INCLUDE_PATH={}".format(trace_include_path)],
+        out = "frpc-adsprpc.ko",
+        hdrs = ["include/linux/fastrpc.h"],
+        includes = ["include/linux"],
+    )
+
+    ddk_module(
+        name = "{}_cdsp-loader".format(kernel_build_variant),
+        kernel_build = "//msm-kernel:{}".format(kernel_build_variant),
+        deps = ["//msm-kernel:all_headers"],
+        srcs = ["dsp/cdsp-loader.c"],
+        out = "cdsp-loader.ko",
+    )

+ 9 - 2
dsp/fastrpc_trace.h

@@ -10,9 +10,16 @@
 #undef TRACE_SYSTEM
 #define TRACE_SYSTEM fastrpc
 
-/* Path must be relative to location of 'define_trace.h' header in kernel */
+/*
+ * Path must be relative to location of 'define_trace.h' header in kernel
+ * Define path if not defined in bazel file
+ */
+#ifndef DSP_TRACE_INCLUDE_PATH
+#define DSP_TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/dsp-kernel/dsp
+#endif
+
 #undef TRACE_INCLUDE_PATH
-#define TRACE_INCLUDE_PATH ../../../../vendor/qcom/opensource/dsp-kernel/dsp
+#define TRACE_INCLUDE_PATH DSP_TRACE_INCLUDE_PATH
 
 /* Name of trace header file */
 #undef TRACE_INCLUDE_FILE