android_kernel_samsung_sm86.../qcom/opensource/bt-kernel/Android.mk
David Wronek 7870029999 Add 'qcom/opensource/bt-kernel/' from commit 'abeb53d57fb210fc51839143b6ce9292c595c424'
git-subtree-dir: qcom/opensource/bt-kernel
git-subtree-mainline: 91a8910061
git-subtree-split: abeb53d57f
Change-Id:
repo: https://git.codelinaro.org/clo/la/platform/vendor/qcom-opensource/bt-kernel
tag: LA.VENDOR.14.3.0.r1-17300-lanai.QSSI15.0
2024-10-06 16:43:53 +02:00

104 lines
3.6 KiB
Makefile

# Android makefile for BT kernel modules
LOCAL_PATH := $(call my-dir)
# Build/Package only in case of supported target
ifeq ($(call is-board-platform-in-list,taro kalama pineapple blair pitti volcano niobe anorak61), true)
BT_SELECT := CONFIG_MSM_BT_POWER=m
#ifdef CONFIG_SLIMBUS
BT_SELECT += CONFIG_BTFM_SLIM=m
#endif
BT_SELECT += CONFIG_I2C_RTC6226_QCA=m
ifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE), true)
ifeq ($(ENABLE_PERIPHERAL_STATE_UTILS), true)
BT_SELECT += CONFIG_BT_HW_SECURE_DISABLE=y
endif
endif
LOCAL_PATH := $(call my-dir)
LOCAL_MODULE_DDK_BUILD := true
LOCAL_MODULE_KO_DIRS := pwr/btpower.ko
LOCAL_MODULE_KO_DIRS += slimbus/bt_fm_slim.ko
LOCAL_MODULE_KO_DIRS += rtc6226/radio-i2c-rtc6226-qca.ko
# This makefile is only for DLKM
ifneq ($(findstring vendor,$(LOCAL_PATH)),)
ifneq ($(findstring opensource,$(LOCAL_PATH)),)
BT_BLD_DIR := $(abspath .)/vendor/qcom/opensource/bt-kernel
endif # opensource
DLKM_DIR := $(TOP)/device/qcom/common/dlkm
###########################################################
# This is set once per LOCAL_PATH, not per (kernel) module
KBUILD_OPTIONS := BT_KERNEL_ROOT=$(BT_BLD_DIR)
KBUILD_OPTIONS += $(foreach bt_select, \
$(BT_SELECT), \
$(bt_select))
BT_SRC_FILES := \
$(wildcard $(LOCAL_PATH)/*) \
$(wildcard $(LOCAL_PATH)/*/*) \
ifeq ($(TARGET_KERNEL_DLKM_SECURE_MSM_OVERRIDE), true)
ifeq ($(ENABLE_PERIPHERAL_STATE_UTILS), true)
KBUILD_REQUIRED_KOS := smcinvoke_dlkm.ko
endif
endif
# Module.symvers needs to be generated as a intermediate module so that
# other modules which depend on BT platform modules can set local
# dependencies to it.
########################### Module.symvers ############################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(BT_SRC_FILES)
LOCAL_MODULE := bt-kernel-module-symvers
LOCAL_MODULE_STEM := Module.symvers
LOCAL_MODULE_KBUILD_NAME := Module.symvers
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
# Below are for Android build system to recognize each module name, so
# they can be installed properly. Since Kbuild is used to compile these
# modules, invoking any of them will cause other modules to be compiled
# as well if corresponding flags are added in KBUILD_OPTIONS from upper
# level Makefiles.
################################ pwr ################################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(BT_SRC_FILES)
LOCAL_MODULE := btpower.ko
LOCAL_MODULE_KBUILD_NAME := pwr/btpower.ko
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
################################ slimbus ################################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(BT_SRC_FILES)
LOCAL_MODULE := bt_fm_slim.ko
LOCAL_MODULE_KBUILD_NAME := slimbus/bt_fm_slim.ko
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
################################ rtc6226 ################################
include $(CLEAR_VARS)
LOCAL_SRC_FILES := $(BT_SRC_FILES)
LOCAL_MODULE := radio-i2c-rtc6226-qca.ko
LOCAL_MODULE_KBUILD_NAME := rtc6226/radio-i2c-rtc6226-qca.ko
LOCAL_MODULE_TAGS := optional
LOCAL_MODULE_DEBUG_ENABLE := true
LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT)
include $(DLKM_DIR)/Build_external_kernelmodule.mk
###########################################################
endif # DLKM check
endif # supported target check