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
This commit is contained in:
36
Android.mk
Normal file
36
Android.mk
Normal file
@@ -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
|
5
Kbuild
Normal file
5
Kbuild
Normal file
@@ -0,0 +1,5 @@
|
||||
include $(MMRM_ROOT)/config/waipiommrm.conf
|
||||
LINUXINCLUDE += -include $(MMRM_ROOT)/config/waipiommrmconf.h
|
||||
|
||||
obj-m += driver/
|
||||
obj-m += test/
|
22
Makefile
22
Makefile
@@ -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
|
@@ -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
|
@@ -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;
|
||||
|
Reference in New Issue
Block a user