64-bit division on 32-bit platforms is normally handled by libgcc,
which, like the kernel, we don't link against in barebox.

Instead we have a number of division helpers that should be used for
64-bit division, which either expand to a normal division if possible or
to an out-of-line division. Make use of this to fix compilation for
32-bit.

Cc: Tomas Marek <[email protected]>
Signed-off-by: Ahmad Fatoum <[email protected]>
---
This replaces "i2c: efi: avoid 64-bit division"
---
 drivers/i2c/busses/i2c-efi.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/i2c/busses/i2c-efi.c b/drivers/i2c/busses/i2c-efi.c
index 5f6cc0eed28e..4c58279e0398 100644
--- a/drivers/i2c/busses/i2c-efi.c
+++ b/drivers/i2c/busses/i2c-efi.c
@@ -114,7 +114,7 @@ static unsigned int efi_i2c_msg_op_cnt(const struct 
efi_i2c_priv *i2c_priv,
 
        max_len = efi_i2c_max_len(i2c_priv, msg);
 
-       return ((u64)msg->len + max_len - 1) / max_len;
+       return DIV_ROUND_UP_ULL(msg->len, max_len);
 }
 
 static unsigned int efi_i2c_req_op_cnt(
-- 
2.39.2


Reply via email to