Re: [RFC 00/32] Kconfig: Introduce HAS_IOPORT and LEGACY_PCI options

From: John Garry
Date: Fri Jan 07 2022 - 11:58:03 EST


On 07/01/2022 07:21, Niklas Schnelle wrote:
I checked again by adding

config HAS_IOPORT
def_bool n

in arch/s390/Kconfig and that doesn't seem to make a difference,
allyesconfig builds all the same. Also checked for CONFIG_HAS_IOPORT in
my .config and that isn't listed with or without the above addition.

Strange, as I build your branch and I see it:

HEAD is now at 9f421b6580ed asm-generic/io.h: drop inb() etc for HAS_IOPORT=n
john@localhost:~/kernel-dev5> export ARCH=s390
john@localhost:~/kernel-dev5> export CROSS_COMPILE=/usr/bin/s390x-suse-linux-
john@localhost:~/kernel-dev5> make allyesconfig
#
# configuration written to .config
#
john@localhost:~/kernel-dev5> more .config | grep HAS_IOPORT
CONFIG_HAS_IOPORT=y


I think this is because without a help text there is no "config
question" and thus nothing that allyesconfig would set to yes. I do
agree though that it's better to be explicit and add the above to those
Kconfigs that don't support HAS_IOPORT.

So maybe something like:
config HAS_IOPORT
def_bool ISA || LEGACY_PCI
depends on !S390

Otherwise you can build inb et al from asm-generic/io.h and get the original compile error about arithmetic on NULL pointer, right?

But I assume that there is a more elegant way of doing this...

Thanks,
John