diff --git a/BUILD.bazel b/BUILD.bazel new file mode 100644 index 0000000000..bce67067be --- /dev/null +++ b/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") diff --git a/define_modules.bzl b/define_modules.bzl new file mode 100644 index 0000000000..1ece612915 --- /dev/null +++ b/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", + ) diff --git a/dsp/fastrpc_trace.h b/dsp/fastrpc_trace.h index 5bfe2f9779..e812d2a906 100644 --- a/dsp/fastrpc_trace.h +++ b/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