Re: [PATCH] serial: parisc: GSC: fix build when PCI_LBA is not set

From: Randy Dunlap
Date: Sun Feb 13 2022 - 16:07:19 EST




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.

thanks.

--
~Randy