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 <xiaoy3@motorola.com>
Reviewed-on: https://gerrit.mot.com/1696955
SME-Granted: SME Approvals Granted
SLTApproved: Slta Waiver
Tested-by: Jira Key
Reviewed-by: Guobin Zhang <zhanggb@motorola.com>
Submit-Approved: Jira Key
This commit is contained in:
xizx 2020-07-21 11:15:31 +08:00 • committed by Zhenxin Xi
commit a11e15b275
3 changed files with 11 additions and 2 deletions

View file

@ -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

View file

@ -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
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

View file

@ -31,6 +31,7 @@
#include <soc/qcom/memory_dump.h>
#include <soc/qcom/mmi_boot_info.h>
#include <linux/mmi_annotate.h>
#include <linux/version.h>
/* 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",