Re: [PATCH] PCI: iproc: fix 32-bit build error

From: Kevin Hilman
Date: Tue Oct 13 2015 - 17:21:42 EST


Arnd Bergmann <arnd@xxxxxxxx> writes:

> The iproc PCI driver tries to figure out whether the MMIO window has
> a valid size, but does this using a 64-bit modulo operation, which
> is not allowed on 32-bit kernels and leads to a link error:
>
> drivers/built-in.o: In function `iproc_pcie_setup':
> :(.text+0x4b798): undefined reference to `__aeabi_uldivmod'
>
> This works around that error by using the div64_u64() function
> provided by the kernel. While this is an expensive operation,
> it is harmless because we only call it during the probing
> of the driver.
>
> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> Fixes: 0ab99ca8eb6c ("PCI: iproc: Fix compile warnings")

Tested-by: Kevin Hilman <khilman@xxxxxxxxxx>

Verified that this fixes the build failure on arm multi_v7_defconfig +
CONFIG_ARM_LPAE=y on top of next-20151013.

Kevin
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/