[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