load("//build/bazel_common_rules/dist:dist.bzl", "copy_to_dist_dir") load("//build/kernel/kleaf:kernel.bzl", "ddk_module") def define_modules(target, variant): kernel_build_variant = "{}_{}".format(target, variant) include_base = "../../../{}".format(native.package_name()) #The below will take care of the defconfig #include_defconfig = ":{}_defconfig".format(variant) ddk_module( name = "{}_rmnet_ctl".format(kernel_build_variant), out = "rmnet_ctl.ko", srcs = [ "core/rmnet_ctl_ipa.c", "core/rmnet_ctl.h", "core/rmnet_ctl_client.h", ], kconfig = "core/Kconfig", conditional_srcs = { "CONFIG_ARCH_PINEAPPLE": { True: [ "core/rmnet_ctl_client.c", ], }, "CONFIG_ARCH_BLAIR": { True: [ "core/rmnet_ctl_client.c", ], }, "CONFIG_ARCH_MONACO": { True: [ "core/rmnet_ctl_client.c", ], }, "CONFIG_ARCH_PITTI": { True: [ "core/rmnet_ctl_client.c", ], }, "CONFIG_ARCH_VOLCANO": { True: [ "core/rmnet_ctl_client.c", ], }, }, kernel_build = "//msm-kernel:{}".format(kernel_build_variant), deps = [ "//vendor/qcom/opensource/dataipa:{}_ipam".format(kernel_build_variant), "//msm-kernel:all_headers", "//vendor/qcom/opensource/dataipa:include_headers", ], ) ddk_module( name = "{}_rmnet_core".format(kernel_build_variant), out = "rmnet_core.ko", srcs = [ "core/rmnet_config.c", "core/rmnet_descriptor.c", "core/rmnet_genl.c", "core/rmnet_handlers.c", "core/rmnet_map_command.c", "core/rmnet_map_data.c", "core/rmnet_module.c", "core/rmnet_vnd.c", "core/dfc_qmap.c", "core/dfc_qmi.c", "core/qmi_rmnet.c", "core/wda_qmi.c", "core/rmnet_ll.c", "core/rmnet_ll_ipa.c", "core/rmnet_qmap.c", "core/rmnet_ll_qmap.c", ], local_defines = [ "RMNET_TRACE_INCLUDE_PATH={}/core".format(include_base), ], kernel_build = "//msm-kernel:{}".format(kernel_build_variant), deps = [ ":rmnet_core_headers", ":{}_rmnet_ctl".format(kernel_build_variant), "//vendor/qcom/opensource/dataipa:{}_ipam".format(kernel_build_variant), "//vendor/qcom/opensource/datarmnet-ext/mem:{}_rmnet_mem".format(kernel_build_variant), "//msm-kernel:all_headers", "//vendor/qcom/opensource/dataipa:include_headers", "//vendor/qcom/opensource/datarmnet-ext/mem:rmnet_mem_headers", ], ) copy_to_dist_dir( name = "{}_modules_dist".format(kernel_build_variant), data = [ "{}_rmnet_core".format(kernel_build_variant), "{}_rmnet_ctl".format(kernel_build_variant), ], dist_dir = "out/target/product/{}/dlkm/lib/modules/".format(target), flat = True, wipe_dist_dir = False, allow_duplicate_filenames = False, mode_overrides = {"**/*": "644"}, log = "info", )