From: Arnd Bergmann <[email protected]>

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 <[email protected]>
---
 drivers/remoteproc/qcom_pil_info.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

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;
 }
-- 
2.29.2

Reply via email to