Hi Greg,
On Tue, Dec 10, 2024 at 9:39 AM Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx> wrote:
On Tue, Dec 10, 2024 at 08:52:08AM +0100, Geert Uytterhoeven wrote:
On Mon, Dec 9, 2024 at 5:18 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
The underlying problem is that the code uses a pointer to store the physical
address. That doesn't work if sizeof(pointer) < sizeof(physical address),
which affects systems with X86_PAE enabled. I have not seen the problem
anywhere else.
I could reproduce the build issue on ARM, with CONFIG_ARM_LPAE=y,
which is not enabled by allmodconfig.
So does that mean this patch is incorrect?
Purely from an arch-agnostic LPAE PoV, it should be:
depends on 64BIT || !PHYS_ADDR_T_64BIT
However, that assumes the driver actually works on 64-bit or non-x86.
Perhaps people keep an old i386 to control their GPIB gear?
The drivers do not use ioremap(), but just cast the PCI resource
addresses to void * pointers. No idea if that works on x86_64.
It will probably crash spectacularly on non-x86...