Merge "Video: Driver: Added support for multiple project configuration"
This commit is contained in:

committed by
Gerrit - the friendly Code Review server

commit
59e34a8dbc
@@ -36,6 +36,10 @@ LOCAL_MODULE_TAGS := optional
|
|||||||
LOCAL_MODULE_DEBUG_ENABLE := true
|
LOCAL_MODULE_DEBUG_ENABLE := true
|
||||||
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
|
||||||
LOCAL_MODULE_DDK_BUILD := true
|
LOCAL_MODULE_DDK_BUILD := true
|
||||||
|
LOCAL_MODULE_DDK_SUBTARGET_REGEX := "video.*"
|
||||||
|
ifeq ($(TARGET_BOARD_PLATFORM), volcano)
|
||||||
|
LOCAL_MODULE_DDK_SUBTARGET_REGEX := "$(TARGET_BOARD_PLATFORM)_video.*"
|
||||||
|
endif
|
||||||
LOCAL_MODULE_KO_DIRS := msm_video/msm_video.ko
|
LOCAL_MODULE_KO_DIRS := msm_video/msm_video.ko
|
||||||
|
|
||||||
LOCAL_REQUIRED_MODULES := mmrm-module-symvers
|
LOCAL_REQUIRED_MODULES := mmrm-module-symvers
|
||||||
|
@@ -69,8 +69,5 @@ ddk_headers(
|
|||||||
hdrs = [":uapi_headers", "pineapple_headers", "cliffs_headers", "iris33_headers", "volcano_headers", "iris2_headers", "vidc_headers"]
|
hdrs = [":uapi_headers", "pineapple_headers", "cliffs_headers", "iris33_headers", "volcano_headers", "iris2_headers", "vidc_headers"]
|
||||||
)
|
)
|
||||||
|
|
||||||
load(":target.bzl", "define_pineapple")
|
load(":target.bzl", "define_target_modules")
|
||||||
define_pineapple()
|
define_target_modules()
|
||||||
|
|
||||||
load(":target.bzl", "define_volcano")
|
|
||||||
define_volcano()
|
|
||||||
|
49
target.bzl
49
target.bzl
@@ -1,27 +1,28 @@
|
|||||||
load(":video_modules.bzl", "video_driver_modules")
|
load(":video_modules.bzl", "video_driver_modules")
|
||||||
load(":video_driver_build.bzl", "define_consolidate_gki_modules")
|
load(":video_driver_build.bzl", "define_lunch_target_variant_modules")
|
||||||
|
load("//msm-kernel:target_variants.bzl", "get_all_la_variants")
|
||||||
|
load("//msm-kernel:target_variants.bzl", "get_all_lunch_target_base_target_variants")
|
||||||
|
|
||||||
def define_pineapple():
|
def define_target_modules():
|
||||||
define_consolidate_gki_modules(
|
for (target, variant) in get_all_la_variants():
|
||||||
target = "pineapple",
|
define_lunch_target_variant_modules(
|
||||||
registry = video_driver_modules,
|
target = target,
|
||||||
modules = [
|
variant = variant,
|
||||||
"msm_video",
|
registry = video_driver_modules,
|
||||||
"video",
|
modules = [
|
||||||
],
|
"msm_video",
|
||||||
config_options = [
|
"video",
|
||||||
"CONFIG_MSM_VIDC_PINEAPPLE",
|
],
|
||||||
],
|
)
|
||||||
)
|
|
||||||
|
|
||||||
def define_volcano():
|
for (lt, bt, v) in get_all_lunch_target_base_target_variants():
|
||||||
define_consolidate_gki_modules(
|
define_lunch_target_variant_modules(
|
||||||
target = "volcano",
|
target = bt,
|
||||||
registry = video_driver_modules,
|
variant = v,
|
||||||
modules = [
|
registry = video_driver_modules,
|
||||||
"msm_video",
|
modules = [
|
||||||
],
|
"msm_video",
|
||||||
config_options = [
|
"video",
|
||||||
"CONFIG_MSM_VIDC_VOLCANO",
|
],
|
||||||
],
|
lunch_target = lt,
|
||||||
)
|
)
|
||||||
|
@@ -97,6 +97,79 @@ def define_target_variant_modules(target, variant, registry, modules, config_opt
|
|||||||
log = "info",
|
log = "info",
|
||||||
)
|
)
|
||||||
|
|
||||||
|
def define_lunch_target_variant_modules(target, variant, registry, modules, lunch_target=None):
|
||||||
|
print(lunch_target)
|
||||||
|
|
||||||
|
kernel_build = "{}_{}".format(target, variant)
|
||||||
|
print("kernel_build: "+ kernel_build)
|
||||||
|
|
||||||
|
kernel_build_label = "//msm-kernel:{}".format(kernel_build)
|
||||||
|
print(kernel_build_label)
|
||||||
|
|
||||||
|
if lunch_target != None:
|
||||||
|
kernel_build = "{}_{}_{}".format(target, variant, lunch_target)
|
||||||
|
print("kernel_build: "+ kernel_build)
|
||||||
|
ddk_mod_name = "{}_video_driver_modules".format(kernel_build)
|
||||||
|
print("ddk_mod_name : " + ddk_mod_name)
|
||||||
|
dist_target_name = "{}_video_driver_modules_dist".format(kernel_build)
|
||||||
|
data = [":{}_video_driver_modules".format(kernel_build)]
|
||||||
|
config_options = ["CONFIG_MSM_VIDC_{}".format(lunch_target.upper())]
|
||||||
|
else:
|
||||||
|
ddk_mod_name = "{}_video_driver_modules".format(kernel_build)
|
||||||
|
print("ddk_mod_name: " + ddk_mod_name)
|
||||||
|
dist_target_name = "{}_video_driver_modules_dist".format(kernel_build)
|
||||||
|
print("dist_target_name: " + dist_target_name)
|
||||||
|
data = [":{}_video_driver_modules".format(kernel_build)]
|
||||||
|
config_options = ["CONFIG_MSM_VIDC_{}".format(target.upper())]
|
||||||
|
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
|
headers = ["//msm-kernel:all_headers"] + registry.hdrs + [":{}_headers".format(target)]
|
||||||
|
print(headers)
|
||||||
|
|
||||||
|
all_module_rules = []
|
||||||
|
|
||||||
|
for module in modules:
|
||||||
|
print("Module name: "+ module.name)
|
||||||
|
rule_name = "{}_{}".format(kernel_build, module.name)
|
||||||
|
module_srcs = _get_kernel_build_module_srcs(module, options, formatter)
|
||||||
|
|
||||||
|
if not module_srcs:
|
||||||
|
continue
|
||||||
|
|
||||||
|
ddk_submodule(
|
||||||
|
name = rule_name,
|
||||||
|
srcs = module_srcs,
|
||||||
|
out = "{}.ko".format(module.name),
|
||||||
|
deps = headers + _get_kernel_build_module_deps(module, options, formatter),
|
||||||
|
local_defines = options.keys(),
|
||||||
|
)
|
||||||
|
all_module_rules.append(rule_name)
|
||||||
|
|
||||||
|
ddk_module(
|
||||||
|
name = ddk_mod_name,
|
||||||
|
kernel_build = kernel_build_label,
|
||||||
|
deps = all_module_rules,
|
||||||
|
)
|
||||||
|
|
||||||
|
copy_to_dist_dir(
|
||||||
|
name = dist_target_name,
|
||||||
|
data = data,
|
||||||
|
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",
|
||||||
|
)
|
||||||
|
|
||||||
def define_consolidate_gki_modules(target, registry, modules, config_options = []):
|
def define_consolidate_gki_modules(target, registry, modules, config_options = []):
|
||||||
define_target_variant_modules(target, "consolidate", registry, modules, config_options)
|
define_target_variant_modules(target, "consolidate", registry, modules, config_options)
|
||||||
define_target_variant_modules(target, "gki", registry, modules, config_options)
|
define_target_variant_modules(target, "gki", registry, modules, config_options)
|
Reference in New Issue
Block a user