diff --git a/display_driver_build.bzl b/display_driver_build.bzl index 1ad9dc869c..bd84e660d3 100644 --- a/display_driver_build.bzl +++ b/display_driver_build.bzl @@ -73,13 +73,21 @@ def display_module_entry(hdrs = []): module_map = module_map ) -def define_target_variant_modules(target, variant, registry, modules, config_options = []): - kernel_build = "{}_{}".format(target, variant) - kernel_build_label = "//msm-kernel:{}".format(kernel_build) +def define_target_variant_modules(target, variant, registry, modules, config_options = [], lunch_target=None): + + kernel_build_hdr = "{}_{}".format(target, variant) + kernel_build_label = "//msm-kernel:{}".format(kernel_build_hdr) + + if lunch_target != None: + kernel_build = "{}_{}_{}".format(target, variant, lunch_target) + else: + kernel_build = "{}_{}".format(target, variant) + modules = [registry.get(module_name) for module_name in modules] options = _get_kernel_build_options(modules, config_options) build_print = lambda message : print("{}: {}".format(kernel_build, message)) formatter = lambda s : s.replace("%b", kernel_build).replace("%t", target) + formatter_hdr = lambda s : s.replace("%b", kernel_build_hdr).replace("%t", target) headers = ["//msm-kernel:all_headers"] + registry.hdrs all_module_rules = [] @@ -94,7 +102,7 @@ def define_target_variant_modules(target, variant, registry, modules, config_opt name = rule_name, srcs = module_srcs, out = "{}.ko".format(module.name), - deps = headers + _get_kernel_build_module_deps(module, options, formatter), + deps = headers + _get_kernel_build_module_deps(module, options, formatter_hdr), local_defines = options.keys(), ) all_module_rules.append(rule_name) diff --git a/msm/Android.mk b/msm/Android.mk index 37dd30b9ee..aace3b9892 100644 --- a/msm/Android.mk +++ b/msm/Android.mk @@ -1,15 +1,18 @@ DISPLAY_SELECT := CONFIG_DRM_MSM=m LOCAL_PATH := $(call my-dir) -ifeq ($(TARGET_BOARD_PLATFORM), pitti) -LOCAL_MODULE_DDK_BUILD := true -else ifeq ($(TARGET_BOARD_PLATFORM), niobe) +ifeq ($(TARGET_BOARD_PLATFORM), niobe) LOCAL_MODULE_DDK_BUILD := false else LOCAL_MODULE_DDK_BUILD := true endif include $(CLEAR_VARS) +LOCAL_MODULE_DDK_SUBTARGET_REGEX := "display_drivers*" +ifeq ($(TARGET_BOARD_PLATFORM), volcano) + LOCAL_MODULE_DDK_SUBTARGET_REGEX := "$(TARGET_BOARD_PLATFORM)_display_drivers.*" +endif + # This makefile is only for DLKM ifneq ($(findstring vendor,$(LOCAL_PATH)),) diff --git a/target.bzl b/target.bzl index 9076ae5924..d49a561238 100644 --- a/target.bzl +++ b/target.bzl @@ -1,8 +1,9 @@ load(":display_modules.bzl", "display_driver_modules") load(":display_driver_build.bzl", "define_target_variant_modules") load("//msm-kernel:target_variants.bzl", "get_all_la_variants", "get_all_le_variants", "get_all_lxc_variants") +load("//msm-kernel:target_variants.bzl", "get_all_lunch_target_base_target_variants") -def define_pineapple(t, v): +def define_pineapple(t, v, lt=None): define_target_variant_modules( target = t, variant = v, @@ -30,9 +31,10 @@ def define_pineapple(t, v): "CONFIG_QCOM_SPEC_SYNC", "CONFIG_MSM_EXT_DISPLAY", ], + lunch_target = lt, ) -def define_blair(t, v): +def define_blair(t, v, lt=None): define_target_variant_modules( target = t, variant = v, @@ -52,9 +54,10 @@ def define_blair(t, v): "CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG", "CONFIG_DEBUG_FS", ], + lunch_target = lt, ) -def define_pitti(t, v): +def define_pitti(t, v, lt=None): define_target_variant_modules( target = t, variant = v, @@ -74,6 +77,36 @@ def define_pitti(t, v): "CONFIG_MSM_SDE_ROTATOR_EVTLOG_DEBUG", "CONFIG_DEBUG_FS", ], + lunch_target = lt, +) + +def define_volcano(t, v, lt=None): + define_target_variant_modules( + target = t, + variant = v, + registry = display_driver_modules, + modules = [ + "msm_drm", + ], + config_options = [ + "CONFIG_DRM_MSM_SDE", + "CONFIG_SYNC_FILE", + "CONFIG_DRM_MSM_DSI", + "CONFIG_DRM_MSM_DP", + "CONFIG_DSI_PARSER", + "CONFIG_DRM_SDE_WB", + "CONFIG_DRM_SDE_RSC", + "CONFIG_DRM_MSM_REGISTER_LOGGING", + "CONFIG_QCOM_MDSS_PLL", + "CONFIG_HDCP_QSEECOM", + "CONFIG_DRM_SDE_VM", + "CONFIG_QCOM_WCD939X_I2C", + "CONFIG_THERMAL_OF", + "CONFIG_QCOM_SPEC_SYNC", + "CONFIG_MSM_EXT_DISPLAY", + "CONFIG_DEBUG_FS", + ], + lunch_target = lt, ) def define_display_target(): @@ -84,3 +117,8 @@ def define_display_target(): define_pitti(t, v) if t == "pineapple": define_pineapple(t, v) + + for (lt, t, v) in get_all_lunch_target_base_target_variants(): + print(lt) + if lt == "volcano": + define_volcano(t, v, lt)