On 2/14/22 13:05, Helge Deller wrote: > 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 That was not fully correct. It needs to be: #if defined(CONFIG_64BIT) && defined(CONFIG_IOSAPIC) Otherwise you'll get an undefined reference in the 32-bit build. Helge