diff mbox series

remoteproc: qcom: pil-info: avoid 64-bit division on 32-bit architectures

Message ID 20210308153215.2449563-1-arnd@kernel.org (mailing list archive)
State New, archived
Headers show
Series remoteproc: qcom: pil-info: avoid 64-bit division on 32-bit architectures | expand

Commit Message

Arnd Bergmann March 8, 2021, 3:32 p.m. UTC
From: Arnd Bergmann <arnd@arndb.de>

In some randconfig builds, a 64-bit resource_size_t is used even on
32-bit architectures, which now leads to a link-time error:

ERROR: modpost: "__aeabi_uldivmod" [drivers/remoteproc/qcom_pil_info.ko] undefined!

Using the div_u64() helper here. A cast to 32 bits length would also
work, but for a constant divider there should not be much difference.

Fixes: 549b67da660d ("remoteproc: qcom: Introduce helper to store pil info in IMEM")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
---
 drivers/remoteproc/qcom_pil_info.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
diff mbox series

Patch

diff --git a/drivers/remoteproc/qcom_pil_info.c b/drivers/remoteproc/qcom_pil_info.c
index 5521c4437ffa..95b6b7609a87 100644
--- a/drivers/remoteproc/qcom_pil_info.c
+++ b/drivers/remoteproc/qcom_pil_info.c
@@ -56,7 +56,8 @@  static int qcom_pil_info_init(void)
 	memset_io(base, 0, resource_size(&imem));
 
 	_reloc.base = base;
-	_reloc.num_entries = resource_size(&imem) / PIL_RELOC_ENTRY_SIZE;
+	_reloc.num_entries = div_u64(resource_size(&imem),
+				     PIL_RELOC_ENTRY_SIZE);
 
 	return 0;
 }