Hi Greg, Hi Mathias, This is a follow up to my ongoing effort of making the inb()/outb() and similar I/O port accessors compile-time optional. Previously I sent this as a treewide series titled "treewide: Remove I/O port accessors for HAS_IOPORT=n" with the latest being its 5th version[0]. With about half of the per-subsystem patches merged I'm changing over to per-subsystem series. These series are stand alone and should be merged via the relevant tree such that with all subsystems complete we can follow this up with the last patch[1] that will make the I/O port accessors compile-time optional. As for compile-time vs runtime see Linus' reply to my first attempt[2]. This series is for the USB subsystem and incorporates the feedback received for the previous single patch USB subsystem change. In particular I split things up in a preparatory code movement patch followed by two independent patches for adding the HAS_IOPORT handling. As the pci-quirks.c and hcd-pci.c files handle a diverse set of devices I sadly couldn't get around ifdeffery but at least now it's contained in smaller patches. Thanks, Niklas Niklas Schnelle (3): usb: pci-quirks: group AMD specific quirk code together usb: pci-quirks: handle HAS_IOPORT dependency for AMD quirk usb: pci-quirks: handle HAS_IOPORT dependency for UHCI handoff drivers/usb/Kconfig | 10 +++ drivers/usb/core/hcd-pci.c | 3 +- drivers/usb/host/pci-quirks.c | 144 ++++++++++++++++++---------------- drivers/usb/host/pci-quirks.h | 34 +++++--- include/linux/usb/hcd.h | 17 ++++ 5 files changed, 131 insertions(+), 77 deletions(-) base-commit: 0bb80ecc33a8fb5a682236443c1e740d5c917d1d -- 2.39.2