On Tue, May 30, 2023 at 01:53:50PM +0200, Arnd Bergmann wrote: > On Tue, May 30, 2023, at 12:48, Greg Kroah-Hartman wrote: > > On Tue, May 16, 2023 at 01:00:29PM +0200, Niklas Schnelle wrote: > >> In a future patch HAS_IOPORT=n will result in inb()/outb() and friends > >> not being declared. We thus need to add HAS_IOPORT as dependency for > >> those drivers using them unconditionally. For 8250 based drivers some > >> support MMIO only use so fence only the parts requiring I/O ports. > > > > Why can't you have dummy inb()/outb() so we don't need these #ifdefs all > > over the place in .c files? Was that documented somewhere? We do that > > for other driver/hardware apis, why are these so special they don't > > deserve that? > > That was what our original approach did years ago, and Linus rightfully > rejected it. Almost every driver either requires inb()/outb() to do > anything, or it doesn't use them at all. The 8250 uart is one of the > few exceptions to this, as it has many variants. > It would be possible to separate this out more in the 8250 driver > as well and split it out into separate modules and indirect function > pointers, but that would be a larger rework and have a higher > risk of regressions. > > Also, the 8250 driver is already full of #ifdef in .c files, Yeah, just trying to hope it could be better :( Ok, I'll go queue up the v5 version of this patch now, thanks. greg k-h