Re: [PATCH v3 00/38] Kconfig: Introduce HAS_IOPORT config option

Arnd Bergmann
2023-03-14T14:06:24Z

On Tue, Mar 14, 2023, at 13:11, Niklas Schnelle wrote:
> Hello Kernel Hackers,
>
> Some platforms such as s390 do not support PCI I/O spaces. On such platforms
> I/O space accessors like inb()/outb() are stubs that can never actually work.
> The way these stubs are implemented in asm-generic/io.h leads to compiler
> warnings because any use will be a NULL pointer access on these platforms. In
> a previous patch we tried handling this with a run-time warning on access. This
> approach however was rejected by Linus[0] with the argument that this really
> should be a compile-time check and, though a much more invasive change, we
> believe that is indeed the right approach.
>
> This patch series aims to do exactly that by introducing a HAS_IOPORT config
> option akin to the existing HAS_IOMEM. When this is unset inb()/outb() and
> friends may not be defined. This is also the same approach originally planned by
> Uwe Kleine-König as mentioned in commit ce816fa88cca ("Kconfig: rename
> HAS_IOPORT to HAS_IOPORT_MAP").
>
> This series builds heavily on an original patch for demonstating the concept by
> Arnd Bergmann[1] and incoporates feedback of previous RFC versions [2] and [3].
>
> This version is based on v6.3-rc1 and is also available on my kernel.org tree
> in the has_ioport_v3 branch with the PGP signed tag has_ioport_v3_signed:
>
> https://git.kernel.org/pub/scm/linux/kernel/git/niks/linux.git

Thanks a lot for the rebase, hopefully we can finally get this merged.
I'll go through all patches and note everything I spot that should
be improved. I'd like to make sure that at least the first patch
can get merged quickly so we can continue on the rest.

Since this is all related to asm-generic/io.h and cross-architecture
work, I can pick up anything that has nobody else maintaining it
through the asm-generic tree.

Arnd