From a11e15b2758746d97cb4fa4d3078a0958f75932c Mon Sep 17 00:00:00 2001 From: xizx Date: Tue, 21 Jul 2020 11:15:31 +0800 Subject: [PATCH] tzlog_dump: use ioremap to map ram from kernel 5.4 1.dma_remap is not supported from kernel 5.4, so use ioremap to map the memory address. 2.solve build error: ERROR: "mmi_annotate" [../../motorola/kernel/modules/drivers/tzlog_dump/tzlog_dump.ko] undefined! ERROR: "bi_powerup_reason" [../../motorola/kernel/modules/drivers/tzlog_dump/tzlog_dump.ko] undefined! Change-Id: Ib5d45f0b21d7afb1debba0d591b51da0c828f596 Signed-off-by: xiaoy3 Reviewed-on: https://gerrit.mot.com/1696955 SME-Granted: SME Approvals Granted SLTApproved: Slta Waiver Tested-by: Jira Key Reviewed-by: Guobin Zhang Submit-Approved: Jira Key --- drivers/tzlog_dump/Android.mk | 1 + drivers/tzlog_dump/Kbuild | 7 +++++-- drivers/tzlog_dump/tzlog_dump.c | 5 +++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/drivers/tzlog_dump/Android.mk b/drivers/tzlog_dump/Android.mk index 347812c3a101..b207987f4b37 100644 --- a/drivers/tzlog_dump/Android.mk +++ b/drivers/tzlog_dump/Android.mk @@ -5,4 +5,5 @@ include $(CLEAR_VARS) LOCAL_MODULE := tzlog_dump.ko LOCAL_MODULE_TAGS := optional LOCAL_MODULE_PATH := $(KERNEL_MODULES_OUT) +LOCAL_ADDITIONAL_DEPENDENCIES := $(KERNEL_MODULES_OUT)/mmi_info.ko include $(DLKM_DIR)/AndroidKernelModule.mk diff --git a/drivers/tzlog_dump/Kbuild b/drivers/tzlog_dump/Kbuild index c7082a8db499..72c4fbf7ce22 100644 --- a/drivers/tzlog_dump/Kbuild +++ b/drivers/tzlog_dump/Kbuild @@ -1,5 +1,8 @@ # add -Wall to try to catch everything we can. EXTRA_CFLAGS += -Wall -EXTRA_CFLAGS += -I$(TOP)/motorola/kernel/modules/include +EXTRA_CFLAGS += -I$(ANDROID_BUILD_TOP)/motorola/kernel/modules/include -obj-m += tzlog_dump.o \ No newline at end of file +obj-m += tzlog_dump.o +KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../mmi_annotate/Module.symvers +KBUILD_EXTRA_SYMBOLS += $(CURDIR)/$(KBUILD_EXTMOD)/../mmi_info/Module.symvers +KBUILD_EXTRA_SYMBOLS += $(KBUILD_OUTPUT)/Module.symver diff --git a/drivers/tzlog_dump/tzlog_dump.c b/drivers/tzlog_dump/tzlog_dump.c index e49920eccead..c61144c50240 100644 --- a/drivers/tzlog_dump/tzlog_dump.c +++ b/drivers/tzlog_dump/tzlog_dump.c @@ -31,6 +31,7 @@ #include #include #include +#include /* Check memory_dump.h to verify this is not going over the max or * conflicting with another entry. Also must match BL @@ -286,8 +287,12 @@ static int tzlog_dump_probe(struct platform_device *pdev) tzlog_dump_table_register(dev, pdata); +#if LINUX_VERSION_CODE >= KERNEL_VERSION(5,4,0) + tzdbg_data = ioremap_wc(pdata->mem_address, pdata->mem_size); +#else tzdbg_data = dma_remap(dev, NULL, pdata->mem_address, pdata->mem_size, 0); +#endif if (!tzdbg_data) { dev_err(dev, "Cannot remap buffer %pa size %zx\n",