Re: [PATCH v5] staging: gpib: Fix i386 build issue

From: Guenter Roeck
Date: Mon Dec 09 2024 - 11:35:59 EST


On 12/9/24 08:27, Geert Uytterhoeven wrote:
Hi Günter,

On Mon, Dec 9, 2024 at 5:18 PM Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
On 12/9/24 08:01, Geert Uytterhoeven wrote:
On Wed, Dec 4, 2024 at 5:21 PM Dave Penkler <dpenkler@xxxxxxxxx> wrote:
These drivers cast resource_type_t to void * causing the build to fail.

With CONFIG_X86_PAE enabled the resource_size_t type is a 64bit unsigned
int which cannot be cast to a 32 bit pointer.

Disable these drivers if X68_PAE is enabled

Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx>
Closes: https://lore.kernel.org/all/f10e976e-7a04-4454-b38d-39cd18f142da@xxxxxxxxxxxx/
Fixes: e9dc69956d4d ("staging: gpib: Add Computer Boards GPIB driver")
Fixes: e1339245eba3 ("staging: gpib: Add Computer Equipment Corporation GPIB driver")
Fixes: bb1bd92fa0f2 ("staging: gpib: Add ines GPIB driver")
Fixes: 0cd5b05551e0 ("staging: gpib: Add TNT4882 chip based GPIB driver")
Signed-off-by: Dave Penkler <dpenkler@xxxxxxxxx>

Thanks for your patch!

--- a/drivers/staging/gpib/Kconfig
+++ b/drivers/staging/gpib/Kconfig
@@ -50,6 +50,7 @@ config GPIB_CEC_PCI
tristate "CEC PCI board"
depends on PCI
depends on HAS_IOPORT
+ depends on !X86_PAE

!CONFIG_PHYS_ADDR_T_64BIT, to match the definition of phys_addr_t?

That would be wrong. It would disable the code for all 64-bit builds.

Oops...

depends on 64BIT || !PHYS_ADDR_T_64BIT


Yes, that should work.

Assuming the driver actually works on 64-bit?

No idea.

Perhaps people keep an old i386 to control their GPIB gear?


The code does not depend on x86, so presumably it could be any kind of CPU
as long as it supports PCI.

Guenter