Hi Miquel, Nathan,
On 2019/1/30 23:27, Nathan Chancellor wrote:
On Wed, Jan 30, 2019 at 10:32:20AM +0100, Miquel Raynal wrote:
Hi Liang, Nathan,
Liang Yang <liang.yang@xxxxxxxxxxx> wrote on Wed, 30 Jan 2019 17:26:39
+0800:
Hi Nathan,
On 2019/1/30 5:46, Nathan Chancellor wrote:
On arm little endian allyesconfig:
ld.lld: error: undefined symbol: __aeabi_uldivmod
>>> referenced by meson_nand.c
>>> mtd/nand/raw/meson_nand.o:(meson_nfc_setup_data_interface) in archive drivers/built-in.a
The dividend tBERS_max is u64, meaning we need to use DIV_ROUND_UP_ULL
(which wraps do_div) to prevent the compiler from emitting
__aebi_uldivmod.
Fixes: 2d570b34b41a ("mtd: rawnand: meson: add support for Amlogic NAND flash controller")
Signed-off-by: Nathan Chancellor <natechancellor@xxxxxxxxx>
---
drivers/mtd/nand/raw/meson_nand.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/nand/raw/meson_nand.c b/drivers/mtd/nand/raw/meson_nand.c
index e858d58d97b0..6f12a96195d1 100644
--- a/drivers/mtd/nand/raw/meson_nand.c
+++ b/drivers/mtd/nand/raw/meson_nand.c
@@ -1116,8 +1116,8 @@ int meson_nfc_setup_data_interface(struct nand_chip *nand, int csline,
div * NFC_CLK_CYCLE);
meson_chip->tadl = DIV_ROUND_UP(PSEC_TO_NSEC(timings->tADL_min),
div * NFC_CLK_CYCLE);
- tbers_clocks = DIV_ROUND_UP(PSEC_TO_NSEC(timings->tBERS_max),
- div * NFC_CLK_CYCLE);
+ tbers_clocks = DIV_ROUND_UP_ULL(PSEC_TO_NSEC(timings->tBERS_max),
+ div * NFC_CLK_CYCLE);
Looks good to me:
Acked-by: Liang Yang <liang.yang@xxxxxxxxxxx>
This is nand/next material, so if you don't mind I would like to squash
this fix into the original commit inserting the driver.
Thanks,
Miquèl
Hi Miquel,
That is totally fine by me, thanks for the quick response!
Nathan
it is ok with me.
.
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/