diff options
author | Sebastian Dang <sebastiandang@codeaurora.org> | 2020-12-03 12:24:18 -0800 |
---|---|---|
committer | Sebastian Dang <sebastiandang@codeaurora.org> | 2020-12-09 17:18:12 -0800 |
commit | 53cf3e9ecb6cb49d7860278cda95a6259402eb4b (patch) | |
tree | 6d15bb3082127b19637d9a853b92a07f1236f4b9 | |
parent | 7657a22ccfc4304aec3ce29279ddb4e9fd1605e3 (diff) | |
download | mmrm-53cf3e9ecb6cb49d7860278cda95a6259402eb4b.tar.gz |
mmrm: Enable mmrm driver dlkm compilation
Add makefile, kbuild, and android.mk to compile
mmrm driver as an external kernel module.
Modify debugfs with new return type.
Change-Id: I370fac4d985bbe491be7fdab846eb3b60d6a3c4d
-rw-r--r-- | Android.mk | 36 | ||||
-rw-r--r-- | Kbuild | 5 | ||||
-rw-r--r-- | Makefile | 22 | ||||
-rw-r--r-- | driver/Kbuild (renamed from driver/Makefile) | 7 | ||||
-rw-r--r-- | driver/src/mmrm_debug.c | 21 |
5 files changed, 60 insertions, 31 deletions
diff --git a/Android.mk b/Android.mk new file mode 100644 index 0000000..59ad11d --- /dev/null +++ b/Android.mk @@ -0,0 +1,36 @@ +MMRM_BLD_DIR := $(shell pwd)/vendor/qcom/opensource/mmrm + +# Build msm-mmrm.ko +########################################################### +# This is set once per LOCAL_PATH, not per (kernel) module +KBUILD_OPTIONS := MMRM_ROOT=$(MMRM_BLD_DIR) +KBUILD_OPTIONS += BOARD_PLATFORM=$(TARGET_BOARD_PLATFORM) +########################################################### + +DLKM_DIR := device/qcom/common/dlkm + +LOCAL_PATH := $(call my-dir) + +include $(CLEAR_VARS) +# For incremental compilation +LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*) +LOCAL_MODULE := msm-mmrm.ko +LOCAL_MODULE_KBUILD_NAME := driver/msm-mmrm.ko +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_DEBUG_ENABLE := true +LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) +# Include kp_module.ko in the /vendor/lib/modules (vendor.img) +# BOARD_VENDOR_KERNEL_MODULES += $(LOCAL_MODULE_PATH)/$(LOCAL_MODULE) +include $(DLKM_DIR)/Build_external_kernelmodule.mk + +include $(CLEAR_VARS) +# For incremental compilation +LOCAL_SRC_FILES := $(wildcard $(LOCAL_PATH)/**/*) $(wildcard $(LOCAL_PATH)/*) +LOCAL_MODULE := mmrm_test_module.ko +LOCAL_MODULE_KBUILD_NAME := test/mmrm_test_module.ko +LOCAL_MODULE_TAGS := optional +LOCAL_MODULE_DEBUG_ENABLE := true +LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) +# Include kp_module.ko in the /vendor/lib/modules (vendor.img) +# BOARD_VENDOR_KERNEL_MODULES += $(LOCAL_MODULE_PATH)/$(LOCAL_MODULE) +include $(DLKM_DIR)/Build_external_kernelmodule.mk @@ -0,0 +1,5 @@ +include $(MMRM_ROOT)/config/waipiommrm.conf +LINUXINCLUDE += -include $(MMRM_ROOT)/config/waipiommrmconf.h + +obj-m += driver/ +obj-m += test/ @@ -1,10 +1,16 @@ -# auto-detect subdirs -ifeq ($(CONFIG_ARCH_WAIPIO), y) -include $(srctree)/techpack/mmrm/config/waipiommrm.conf -endif +KBUILD_OPTIONS+= MMRM_ROOT=$(KERNEL_SRC)/$(M) -ifeq ($(CONFIG_ARCH_WAIPIO), y) -LINUXINCLUDE += -include $(srctree)/techpack/mmrm/config/waipiommrmconf.h -endif +all: modules -obj-y +=driver/ +modules: + $(MAKE) -C $(KERNEL_SRC) M=$(M) modules $(KBUILD_OPTIONS) + +modules_install: + $(MAKE) INSTALL_MOD_STRIP=1 -C $(KERNEL_SRC) M=$(M) modules_install + +%: + $(MAKE) -C $(KERNEL_SRC) M=$(M) $@ $(KBUILD_OPTIONS) + +clean: + rm -f *.o *.ko *.mod.c *.mod.o *~ .*.cmd Module.symvers + rm -rf .tmp_versions
\ No newline at end of file diff --git a/driver/Makefile b/driver/Kbuild index 89e9fba..3ca216a 100644 --- a/driver/Makefile +++ b/driver/Kbuild @@ -1,10 +1,11 @@ -ccflags-y += -I$(srctree)/techpack/mmrm/driver/src/ +ifdef CONFIG_MSM_MMRM +LINUXINCLUDE += -I$(MMRM_ROOT)/driver/src +obj-m += msm-mmrm.o msm-mmrm-objs := src/msm_mmrm.o \ src/mmrm_internal.o \ src/mmrm_res_parse.o \ src/mmrm_debug.o \ src/mmrm_clk_rsrc_mgr_sw.o \ src/mmrm_clk_rsrc_mgr.o - -obj-$(CONFIG_MSM_MMRM) := msm-mmrm.o +endif diff --git a/driver/src/mmrm_debug.c b/driver/src/mmrm_debug.c index 6e5f938..e9549df 100644 --- a/driver/src/mmrm_debug.c +++ b/driver/src/mmrm_debug.c @@ -41,7 +41,6 @@ struct dentry *msm_mmrm_debugfs_init(void) { struct dentry *dir; int file_val; - bool ok = false; d_mpr_h("%s: entering\n", __func__); @@ -58,26 +57,8 @@ struct dentry *msm_mmrm_debugfs_init(void) goto failed_create_dir; } -#define __debugfs_create(__type, __name, __value) \ - ({ \ - struct dentry *f = debugfs_create_##__type(__name, 0644, dir, __value); \ - if (IS_ERR_OR_NULL(f)) { \ - d_mpr_e("%s: Failed creating debugfs file '%pd/%s'\n", \ - __func__, \ - dir, \ - __name); \ - f = NULL; \ - } \ - f; \ - }) - /* add other params here */ - ok = __debugfs_create(u32, "debug_level", &msm_mmrm_debug); - -#undef __debugfs_create - - if (!ok) - goto failed_create_dir; + debugfs_create_u32("debug_level", 0644, dir, &msm_mmrm_debug); d_mpr_h("%s: exiting\n", __func__); return dir; |