123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116 |
- PWR_PATH = "pwr"
- SLIMBUS_PATH = "slimbus"
- FMRTC_PATH = "rtc6226"
- BTFMCODEC_PATH = "btfmcodec"
- # This dictionary holds all the BT modules included in the bt-kernel
- bt_modules = {}
- def register_bt_modules(name, path = None, config_opt = None, srcs = [], config_srcs = {}, deps = [], config_deps = {}):
- """
- Register modules
- Args:
- name: Name of the module (which will be used to generate the name of the .ko file)
- path: Path in which the source files can be found
- config_opt: Config name used in Kconfig (not needed currently)
- srcs: source files and local headers
- config_srcs: source files and local headers that depend on a config define being enabled.
- deps: a list of dependent targets
- config_deps: a list of dependent targets that depend on a config define being enabled.
- """
- processed_config_srcs = {}
- processed_config_deps = {}
- for config_src_name in config_srcs:
- config_src = config_srcs[config_src_name]
- if type(config_src) == "list":
- processed_config_srcs[config_src_name] = {True: config_src}
- else:
- processed_config_srcs[config_src_name] = config_src
- for config_deps_name in config_deps:
- config_dep = config_deps[config_deps_name]
- if type(config_dep) == "list":
- processed_config_deps[config_deps_name] = {True: config_dep}
- else:
- processed_config_deps[config_deps_name] = config_dep
- module = struct(
- name = name,
- path = path,
- srcs = srcs,
- config_srcs = processed_config_srcs,
- config_opt = config_opt,
- deps = deps,
- config_deps = processed_config_deps,
- )
- bt_modules[name] = module
- # --- BT Modules ---
- register_bt_modules(
- name = "btpower",
- path = PWR_PATH,
- config_opt = "CONFIG_MSM_BT_POWER",
- srcs = ["btpower.c"],
- config_deps = {
- "CONFIG_BT_HW_SECURE_DISABLE": [
- "//vendor/qcom/opensource/securemsm-kernel:%b_smcinvoke_dlkm",
- ]
- },
- )
- register_bt_modules(
- name = "bt_fm_slim",
- path = SLIMBUS_PATH,
- # config_opt = "CONFIG_BTFM_SLIM",
- srcs = [
- "btfm_slim.c",
- "btfm_slim.h",
- "btfm_slim_slave.c",
- "btfm_slim_slave.h",
- "btfm_slim_codec.c",
- ],
- deps = [":%b_btpower"],
- )
- register_bt_modules(
- name = "btfm_slim_codec",
- path = SLIMBUS_PATH,
- config_opt = "CONFIG_SLIM_BTFM_CODEC",
- srcs = [
- "btfm_slim.c",
- "btfm_slim.h",
- "btfm_slim_slave.c",
- "btfm_slim_slave.h",
- "btfm_slim_hw_interface.c",
- "btfm_slim_hw_interface.h",
- ],
- deps = [":%b_btpower", ":%b_btfmcodec", ":btfmcodec_headers"],
- )
- register_bt_modules(
- name = "btfmcodec",
- path = BTFMCODEC_PATH,
- config_opt = "CONFIG_BTFM_CODEC",
- srcs = [
- "btfm_codec.c",
- "btfm_codec_btadv_interface.c",
- "btfm_codec_hw_interface.c",
- "btfm_codec_interface.c",
- ],
- deps = [":btfmcodec_headers"],
- )
- register_bt_modules(
- name = "radio-i2c-rtc6226-qca",
- path = FMRTC_PATH,
- config_opt = "CONFIG_I2C_RTC6226_QCA",
- srcs = [
- "radio-rtc6226-common.c",
- "radio-rtc6226-i2c.c",
- "radio-rtc6226.h",
- ],
- )
|