On 2/14/22 01:15, Randy Dunlap wrote: > Hi, > > On 2/13/22 14:15, Helge Deller wrote: >> On 2/13/22 22:07, Randy Dunlap wrote: >>> >>> >>> On 2/13/22 12:35, Helge Deller wrote: >>>> Hi Randy, >>>> >>>> On 2/13/22 20:39, Randy Dunlap wrote: >>>>> There is a build error when using a kernel .config file from >>>>> 'kernel test robot' for a different build problem: >>>>> >>>>> hppa64-linux-ld: drivers/tty/serial/8250/8250_gsc.o: in function `.LC3': >>>>> (.data.rel.ro+0x18): undefined reference to `iosapic_serial_irq' >>>>> >>>>> when: >>>>> CONFIG_GSC=y >>>>> CONFIG_SERIO_GSCPS2=y >>>>> CONFIG_SERIAL_8250_GSC=y >>>>> CONFIG_PCI is not set >>>>> and hence PCI_LBA is not set. >>>>> IOSAPIC depends on PCI_LBA, so IOSAPIC is not set/enabled. >>>>> >>>>> Making SERIAL_8250_GSC depend on PCI_LBA prevents the build error. >>>> >>>> It maybe makes the build error go away, but ... >>>> >>>>> Signed-off-by: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> >>>>> Reported-by: kernel test robot <lkp@xxxxxxxxx> >>>>> Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> >>>>> Cc: Helge Deller <deller@xxxxxx> >>>>> Cc: linux-parisc@xxxxxxxxxxxxxxx >>>>> Cc: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> >>>>> Cc: linux-serial@xxxxxxxxxxxxxxx >>>>> Cc: Jiri Slaby <jirislaby@xxxxxxxxxx> >>>>> Cc: Johan Hovold <johan@xxxxxxxxxx> >>>>> --- >>>>> drivers/tty/serial/8250/Kconfig | 2 +- >>>>> 1 file changed, 1 insertion(+), 1 deletion(-) >>>>> >>>>> --- linux-next-20220211.orig/drivers/tty/serial/8250/Kconfig >>>>> +++ linux-next-20220211/drivers/tty/serial/8250/Kconfig >>>>> @@ -118,7 +118,7 @@ config SERIAL_8250_CONSOLE >>>>> >>>>> config SERIAL_8250_GSC >>>>> tristate >>>>> - depends on SERIAL_8250 && GSC >>>>> + depends on SERIAL_8250 && GSC && PCI_LBA >>>>> default SERIAL_8250 >>>> >>>> The serial device is on the GSC bus, so if you make it >>>> dependend on the PCI bus it will not be useable on machines >>>> which only have a GSC bus... >>>> >>>> We need another patch. >>>> Do you have a link to the build error? >>> >>> >>> No, it's from the other build error that you just replied to, >>> where the incorrect compiler was used. >>> >>> I'll recheck it and reconsider what to do, if anything. >> >> Ok, thank you! > > I dunno what to do. This: > > #ifdef CONFIG_64BIT > if (!dev->irq && (dev->id.sversion == 0xad)) > dev->irq = iosapic_serial_irq(dev); > #endif > > makes it look like 64BIT requires IOSAPIC (hence PCI_LBA). Although I think all 64bit machines have a PCI bus, the better fix is that the driver should only call iosapic_serial_irq(dev) if CONFIG_IOSAPIC is set. This patch fixes the build: -#ifdef CONFIG_64BIT +#ifdef CONFIG_IOSAPIC if (!dev->irq && (dev->id.sversion == 0xad)) dev->irq = iosapic_serial_irq(dev); #endif Will you send an updated patch? Thanks! Helge