Re: [PATCH v2] staging: gpib: Fix i386 build issue
From: Dave Penkler
Date: Wed Dec 04 2024 - 07:13:46 EST
On Tue, Dec 03, 2024 at 09:43:33AM +0100, Dave Penkler wrote:
> On Mon, Dec 02, 2024 at 09:48:49AM -0800, Guenter Roeck wrote:
> > On 12/2/24 09:33, Dave Penkler wrote:
> > > Both 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.
> > >
> > > Use ioremap() instead of pci_resource_start()
> > >
> > > Reported_by: Guenter Roeck <linux@xxxxxxxxxxxx>
> > > Link: https://lore.kernel.org/all/f10e976e-7a04-4454-b38d-39cd18f142da@xxxxxxxxxxxx/
> > > Fixes: bb1bd92fa0f2 ("staging: gpib: Add ines GPIB driver")
> > > Fixes: e1339245eba3 ("staging: gpib: Add Computer Equipment Corporation GPIB driver")
> > >
> > > Signed-off-by: Dave Penkler <dpenkler@xxxxxxxxx>
> > > ---
> > > v1 -> v2 changed pci_resource_start to pci_resource_len for second parameter of ioremap
> > >
> > Sorry, there are some more.
> >
> > drivers/staging/gpib/tnt4882/tnt4882_gpib.c: In function ???ni_isa_attach_common???:
> > drivers/staging/gpib/tnt4882/tnt4882_gpib.c:1430:26: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
> >
> > drivers/staging/gpib/cb7210/cb7210.c: In function 'cb_pci_attach':
> > drivers/staging/gpib/cb7210/cb7210.c:974:36: error: cast to pointer from integer of different size
> >
> > Not sure if that really fixes the problem though, since there is other code
> > which maps the void * back to phys_addr_t (or, rather, to unsigned long).
> > It might be better to work around the problem for now by disabling support
> > for platforms where sizeof(phys_addr_t) > sizeof(void *).
>
> I think it is dealt with in v3.
> - Dave
OK this does not work so I will submit a v4 which makes these
drivers depend on !X86_PAE
-Dave