[PATCH] m68k: Implement ndelay() as an inline function to force type checking/casting
Miquel Raynal
miquel.raynal at bootlin.com
Mon May 14 00:23:34 PDT 2018
Hi Boris,
On Sun, 13 May 2018 16:02:12 +0200, Boris Brezillon
<boris.brezillon at 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.brezillon at bootlin.com>
Thanks for fixing it.
Reviewed-by: Miquel Raynal <miquel.raynal at bootlin.com>
--
Miquel Raynal, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com
More information about the linux-mtd
mailing list