Hi Boris, On Mon, May 14, 2018 at 11:29 AM, Geert Uytterhoeven <ge...@linux-m68k.org> wrote: > On Sun, May 13, 2018 at 4:02 PM, Boris Brezillon > <boris.brezil...@bootlin.com> wrote: >> ndelay() is supposed to take an unsigned long, but if you define >> ndelay() as a macro and the caller pass an unsigned long long instead >> of an unsigned long, the unsigned long long to unsigned long cast is >> not done and we end up with an "undefined reference to `__udivdi3'" >> error at link time. >> >> Fix that by making ndelay() an inline function and then defining dummy >> ndelay() macro that redirects to the ndelay() function (it's how most >> archs do to implement ndelay()). >> >> Fixes: c8ee038bd148 ("m68k: Implement ndelay() based on the existing >> udelay() logic") >> Signed-off-by: Boris Brezillon <boris.brezil...@bootlin.com> >> --- >> Hello Geert, >> >> This patch is fixing the bug reported by kbuild test robot here [1]. >> I could have patched the PSEC_TO_NSEC() macro to cast the result of >> the division on a u32, but I thought making m68k consistent with what >> other archs do would be preferable. >> >> Let me know if don't like the solution, and I'll patch the ndelay() >> caller instead. > > Thanks for your patch! > > With the comment a few lines above removed: > > - * This is a macro so that the const version can factor out the first > - * multiply and shift. > > Acked-by: Geert Uytterhoeven <ge...@linux-m68k.org>
I've just posted a fix for the root cause ("[PATCH] mtd: nand: Fix return type of __DIVIDE() when called with 32-bit", https://lkml.org/lkml/2018/5/14/578), so the fix for m68k's ndelay() is not that urgent anymore. As your patch is still a valid fix, I'll apply it, and queue it up for v4.18. Thanks! Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- ge...@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds -- To unsubscribe from this list: send the line "unsubscribe linux-m68k" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html