From: Niklas Schnelle <schnelle@linux.ibm.com> To: Arnd Bergmann <arnd@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, John Garry <john.garry@huawei.com>, Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Guo Ren <guoren@kernel.org> Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-pci@vger.kernel.org, linux-riscv@lists.infradead.org, linux-csky@vger.kernel.org Subject: [RFC 00/32] Kconfig: Introduce HAS_IOPORT and LEGACY_PCI options Date: Mon, 27 Dec 2021 17:42:45 +0100 [thread overview] Message-ID: <20211227164317.4146918-1-schnelle@linux.ibm.com> (raw) Hello Kernel Hackers, Some platforms such as s390 do not support legacy PCI devices nor PCI I/O spaces. On such platforms I/O space accessors like inb()/outb() are merely 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 essentially lead to a NULL pointer access. In a previous patch we tried handling this case by generating a run-time warning on access. This approach however was rejected by Linus in tha mail below 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. https://lore.kernel.org/lkml/CAHk-=wg80je=K7madF4e7WrRNp37e3qh6y10Svhdc7O8SZ_-8g@mail.gmail.com/ 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. Now since I/O port access is not only used in legacy PCI devices or with legacy I/O spaces for backwards compatible PCI Express devices, but also for example in ACPI we also introduce another config option LEGACY_PCI to specifically disable the compilation of drivers for legacy PCI devices and legacy I/O space uses while keeping I/O port accessors for non-legacy uses. This allows modern systems which do not need legacy PCI support to skip building drivers for legacy devices while keeping e.g. ACPI support. This series builts heavily on an original patch for demonstating the concept by Arnd Bergmann and was created in collaboration with him as discussed in the follow up to his original patch here: https://lore.kernel.org/lkml/CAK8P3a0MNbx-iuzW_-=0ab6-TTZzwV-PT_6gAC1Gp5PgYyHcrA@mail.gmail.com/ It rebases his patch on v5.16-rc7, adds the missing arch selects for HAS_IOPORT, fixes a few trivial findings from the original patch discussion and splits the patch into more manageable patches. One other thing that came up during the discussion is the idea of adding a separate HARDCODED_IOPORTS config option for drivers which use hardcoded I/O port numbers, this is not currently implemented but could still be added if we find enough drivers that should not be compiled on platforms where HAS_IOPORT is set but these hardcoded I/O ports will not work. According to the above discussion John Garry is looking into this but I wanted to get the discussion going on this proposal. The series is split up into multiple patches as follows: - Patch 01: Adds the LEGACY_PCI config and selects it for all remaining drivers for legacy PCI devices. - Patch 02: Adds the HAS_IOPORT config option and selects it for those architectures supporting the I/O space access. It is currently not selected for s390, nds32, um, h8300, nios2, openrisc, hexagon, csky, and xtensa - Patches 03-26: Add HAS_IOPORT dependencies on a per subsystem basis. These dependencies are either Kconfig "depends on" or ifdefs where I/O port access is an alternative path or required e.g. for a sysfs file. - Patches 27-31: Handle HAS_IOPORT dependencies for some special cases such as sysfs files, PCI quirks and in USB code. - Patch 32: Removes the inb()/outb() etc. definitions in asm-generic/io.h when HAS_IOPORT is not selected e.g. on s390. I performed the following testing: - On s390 this series on top of v5.16-rc7 builds with allyesconfig i.e. the HAS_IOPORT=n case. It also builds with defconfig and the resulting kernel appears fully functional including tests with PCI devices. - On x86_64 with a config based on Arch Linux' standard config and LEGACY_PCI=n it builds and I've been running kernels with this configuration for over a week without issue on my Ryzen 3990X based workstation (initially based on v5.16-rc6). I also tested LEGACY_PCI=y though I do not have any legacy PCI devices, I did confirm though that the additional modules are built as expected. - For ARM64 I cross-compiled based on the current Arch Linux ARM generic kernel config and LEGACY_PCI=n and have been running a v5.16-rc6 based version of this patch on my Raspberry Pi 4 (DT not UEFI) and checked that the PCI based USB still works. For easy consumption a branch on top of v5.16-rc7 is also available from my Github here https://github.com/niklas88/linux/tree/has_ioport_rfc_v1 Thanks, Niklas Schnelle Niklas Schnelle (32): Kconfig: introduce and depend on LEGACY_PCI Kconfig: introduce HAS_IOPORT option and select it as necessary ACPI: Kconfig: add HAS_IOPORT dependencies parport: PC style parport depends on HAS_IOPORT char: impi, tpm: depend on HAS_IOPORT speakup: Kconfig: add HAS_IOPORT dependencies Input: gameport: add ISA and HAS_IOPORT dependencies comedi: Kconfig: add HAS_IOPORT dependencies sound: Kconfig: add HAS_IOPORT dependencies i2c: Kconfig: add HAS_IOPORT dependencies Input: Kconfig: add HAS_IOPORT dependencies iio: adc: Kconfig: add HAS_IOPORT dependencies hwmon: Kconfig: add HAS_IOPORT dependencies leds: Kconfig: add HAS_IOPORT dependencies media: Kconfig: add HAS_IOPORT dependencies misc: handle HAS_IOPORT dependencies net: Kconfig: add HAS_IOPORT dependencies pcmcia: Kconfig: add HAS_IOPORT dependencies platform: Kconfig: add HAS_IOPORT dependencies pnp: Kconfig: add HAS_IOPORT dependencies power: Kconfig: add HAS_IOPORT dependencies video: handle HAS_IOPORT dependencies rtc: Kconfig: add HAS_IOPORT dependencies scsi: Kconfig: add HAS_IOPORT dependencies watchdog: Kconfig: add HAS_IOPORT dependencies drm: handle HAS_IOPORT dependencies PCI/sysfs: make I/O resource depend on HAS_IOPORT PCI: make quirk using inw() depend on HAS_IOPORT firmware: dmi-sysfs: handle HAS_IOPORT dependencies /dev/port: don't compile file operations without CONFIG_DEVPORT usb: handle HAS_IOPORT dependencies asm-generic/io.h: drop inb() etc for HAS_IOPORT=n arch/alpha/Kconfig | 1 + arch/arc/Kconfig | 1 + arch/arm/Kconfig | 1 + arch/arm64/Kconfig | 1 + arch/ia64/Kconfig | 1 + arch/m68k/Kconfig | 1 + arch/microblaze/Kconfig | 1 + arch/mips/Kconfig | 1 + arch/parisc/Kconfig | 1 + arch/powerpc/Kconfig | 1 + arch/riscv/Kconfig | 1 + arch/sh/Kconfig | 1 + arch/sparc/Kconfig | 1 + arch/x86/Kconfig | 1 + drivers/accessibility/speakup/Kconfig | 1 + drivers/acpi/Kconfig | 1 + drivers/ata/Kconfig | 34 ++--- drivers/ata/ata_generic.c | 3 +- drivers/ata/libata-sff.c | 2 + drivers/bus/Kconfig | 2 +- drivers/char/Kconfig | 3 +- drivers/char/ipmi/Makefile | 11 +- drivers/char/ipmi/ipmi_si_intf.c | 3 +- drivers/char/ipmi/ipmi_si_pci.c | 3 + drivers/char/mem.c | 6 +- drivers/char/tpm/Kconfig | 1 + drivers/char/tpm/tpm_infineon.c | 14 +- drivers/char/tpm/tpm_tis_core.c | 19 ++- drivers/comedi/Kconfig | 53 ++++++++ drivers/firmware/dmi-sysfs.c | 4 + drivers/gpio/Kconfig | 2 +- drivers/gpu/drm/qxl/Kconfig | 1 + drivers/gpu/drm/tiny/Kconfig | 1 + drivers/gpu/drm/tiny/cirrus.c | 2 + drivers/hwmon/Kconfig | 21 ++- drivers/i2c/busses/Kconfig | 29 +++-- drivers/iio/adc/Kconfig | 2 +- drivers/input/gameport/Kconfig | 6 +- drivers/input/serio/Kconfig | 2 + drivers/input/touchscreen/Kconfig | 1 + drivers/isdn/hardware/mISDN/Kconfig | 14 +- drivers/leds/Kconfig | 2 +- drivers/media/cec/platform/Kconfig | 2 +- drivers/media/pci/dm1105/Kconfig | 2 +- drivers/media/radio/Kconfig | 15 ++- drivers/media/rc/Kconfig | 6 + drivers/message/fusion/Kconfig | 8 +- drivers/misc/altera-stapl/Makefile | 3 +- drivers/misc/altera-stapl/altera.c | 6 +- drivers/net/Kconfig | 2 +- drivers/net/arcnet/Kconfig | 2 +- drivers/net/can/cc770/Kconfig | 1 + drivers/net/can/sja1000/Kconfig | 1 + drivers/net/ethernet/8390/Kconfig | 2 +- drivers/net/ethernet/amd/Kconfig | 2 +- drivers/net/ethernet/intel/Kconfig | 4 +- drivers/net/ethernet/sis/Kconfig | 6 +- drivers/net/ethernet/ti/Kconfig | 4 +- drivers/net/ethernet/via/Kconfig | 5 +- drivers/net/fddi/Kconfig | 4 +- drivers/net/hamradio/Kconfig | 6 +- drivers/net/wan/Kconfig | 2 +- drivers/net/wireless/atmel/Kconfig | 4 +- drivers/net/wireless/intersil/hostap/Kconfig | 4 +- drivers/parport/Kconfig | 2 +- drivers/pci/Kconfig | 11 ++ drivers/pci/pci-sysfs.c | 16 +++ drivers/pci/quirks.c | 2 + drivers/pcmcia/Kconfig | 2 +- drivers/platform/chrome/Kconfig | 1 + drivers/platform/chrome/wilco_ec/Kconfig | 1 + drivers/pnp/isapnp/Kconfig | 2 +- drivers/power/reset/Kconfig | 1 + drivers/rtc/Kconfig | 4 +- drivers/scsi/Kconfig | 21 +-- drivers/scsi/aic7xxx/Kconfig.aic79xx | 2 +- drivers/scsi/aic7xxx/Kconfig.aic7xxx | 2 +- drivers/scsi/aic94xx/Kconfig | 2 +- drivers/scsi/megaraid/Kconfig.megaraid | 2 +- drivers/scsi/mvsas/Kconfig | 2 +- drivers/scsi/qla2xxx/Kconfig | 2 +- drivers/spi/Kconfig | 1 + drivers/staging/sm750fb/Kconfig | 2 +- drivers/staging/vt6655/Kconfig | 2 +- drivers/tty/Kconfig | 2 +- drivers/tty/serial/Kconfig | 2 +- drivers/usb/core/hcd-pci.c | 3 +- drivers/usb/host/Kconfig | 4 +- drivers/usb/host/pci-quirks.c | 127 ++++++++++--------- drivers/usb/host/pci-quirks.h | 33 +++-- drivers/usb/host/uhci-hcd.c | 2 +- drivers/usb/host/uhci-hcd.h | 77 +++++++---- drivers/video/fbdev/Kconfig | 23 ++-- drivers/watchdog/Kconfig | 6 +- include/asm-generic/io.h | 5 + include/linux/gameport.h | 9 +- include/linux/parport.h | 2 +- include/video/vga.h | 8 ++ lib/Kconfig | 4 + lib/Kconfig.kgdb | 1 + sound/drivers/Kconfig | 3 + sound/pci/Kconfig | 43 +++++-- 102 files changed, 532 insertions(+), 250 deletions(-) -- 2.32.0
WARNING: multiple messages have this Message-ID (diff)
From: Niklas Schnelle <schnelle@linux.ibm.com> To: Arnd Bergmann <arnd@kernel.org>, Bjorn Helgaas <bhelgaas@google.com>, John Garry <john.garry@huawei.com>, Nick Hu <nickhu@andestech.com>, Greentime Hu <green.hu@gmail.com>, Vincent Chen <deanbo422@gmail.com>, Paul Walmsley <paul.walmsley@sifive.com>, Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>, Guo Ren <guoren@kernel.org> Cc: linux-kernel@vger.kernel.org, linux-arch@vger.kernel.org, linux-pci@vger.kernel.org, linux-riscv@lists.infradead.org, linux-csky@vger.kernel.org Subject: [RFC 00/32] Kconfig: Introduce HAS_IOPORT and LEGACY_PCI options Date: Mon, 27 Dec 2021 17:42:45 +0100 [thread overview] Message-ID: <20211227164317.4146918-1-schnelle@linux.ibm.com> (raw) Hello Kernel Hackers, Some platforms such as s390 do not support legacy PCI devices nor PCI I/O spaces. On such platforms I/O space accessors like inb()/outb() are merely 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 essentially lead to a NULL pointer access. In a previous patch we tried handling this case by generating a run-time warning on access. This approach however was rejected by Linus in tha mail below 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. https://lore.kernel.org/lkml/CAHk-=wg80je=K7madF4e7WrRNp37e3qh6y10Svhdc7O8SZ_-8g@mail.gmail.com/ 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. Now since I/O port access is not only used in legacy PCI devices or with legacy I/O spaces for backwards compatible PCI Express devices, but also for example in ACPI we also introduce another config option LEGACY_PCI to specifically disable the compilation of drivers for legacy PCI devices and legacy I/O space uses while keeping I/O port accessors for non-legacy uses. This allows modern systems which do not need legacy PCI support to skip building drivers for legacy devices while keeping e.g. ACPI support. This series builts heavily on an original patch for demonstating the concept by Arnd Bergmann and was created in collaboration with him as discussed in the follow up to his original patch here: https://lore.kernel.org/lkml/CAK8P3a0MNbx-iuzW_-=0ab6-TTZzwV-PT_6gAC1Gp5PgYyHcrA@mail.gmail.com/ It rebases his patch on v5.16-rc7, adds the missing arch selects for HAS_IOPORT, fixes a few trivial findings from the original patch discussion and splits the patch into more manageable patches. One other thing that came up during the discussion is the idea of adding a separate HARDCODED_IOPORTS config option for drivers which use hardcoded I/O port numbers, this is not currently implemented but could still be added if we find enough drivers that should not be compiled on platforms where HAS_IOPORT is set but these hardcoded I/O ports will not work. According to the above discussion John Garry is looking into this but I wanted to get the discussion going on this proposal. The series is split up into multiple patches as follows: - Patch 01: Adds the LEGACY_PCI config and selects it for all remaining drivers for legacy PCI devices. - Patch 02: Adds the HAS_IOPORT config option and selects it for those architectures supporting the I/O space access. It is currently not selected for s390, nds32, um, h8300, nios2, openrisc, hexagon, csky, and xtensa - Patches 03-26: Add HAS_IOPORT dependencies on a per subsystem basis. These dependencies are either Kconfig "depends on" or ifdefs where I/O port access is an alternative path or required e.g. for a sysfs file. - Patches 27-31: Handle HAS_IOPORT dependencies for some special cases such as sysfs files, PCI quirks and in USB code. - Patch 32: Removes the inb()/outb() etc. definitions in asm-generic/io.h when HAS_IOPORT is not selected e.g. on s390. I performed the following testing: - On s390 this series on top of v5.16-rc7 builds with allyesconfig i.e. the HAS_IOPORT=n case. It also builds with defconfig and the resulting kernel appears fully functional including tests with PCI devices. - On x86_64 with a config based on Arch Linux' standard config and LEGACY_PCI=n it builds and I've been running kernels with this configuration for over a week without issue on my Ryzen 3990X based workstation (initially based on v5.16-rc6). I also tested LEGACY_PCI=y though I do not have any legacy PCI devices, I did confirm though that the additional modules are built as expected. - For ARM64 I cross-compiled based on the current Arch Linux ARM generic kernel config and LEGACY_PCI=n and have been running a v5.16-rc6 based version of this patch on my Raspberry Pi 4 (DT not UEFI) and checked that the PCI based USB still works. For easy consumption a branch on top of v5.16-rc7 is also available from my Github here https://github.com/niklas88/linux/tree/has_ioport_rfc_v1 Thanks, Niklas Schnelle Niklas Schnelle (32): Kconfig: introduce and depend on LEGACY_PCI Kconfig: introduce HAS_IOPORT option and select it as necessary ACPI: Kconfig: add HAS_IOPORT dependencies parport: PC style parport depends on HAS_IOPORT char: impi, tpm: depend on HAS_IOPORT speakup: Kconfig: add HAS_IOPORT dependencies Input: gameport: add ISA and HAS_IOPORT dependencies comedi: Kconfig: add HAS_IOPORT dependencies sound: Kconfig: add HAS_IOPORT dependencies i2c: Kconfig: add HAS_IOPORT dependencies Input: Kconfig: add HAS_IOPORT dependencies iio: adc: Kconfig: add HAS_IOPORT dependencies hwmon: Kconfig: add HAS_IOPORT dependencies leds: Kconfig: add HAS_IOPORT dependencies media: Kconfig: add HAS_IOPORT dependencies misc: handle HAS_IOPORT dependencies net: Kconfig: add HAS_IOPORT dependencies pcmcia: Kconfig: add HAS_IOPORT dependencies platform: Kconfig: add HAS_IOPORT dependencies pnp: Kconfig: add HAS_IOPORT dependencies power: Kconfig: add HAS_IOPORT dependencies video: handle HAS_IOPORT dependencies rtc: Kconfig: add HAS_IOPORT dependencies scsi: Kconfig: add HAS_IOPORT dependencies watchdog: Kconfig: add HAS_IOPORT dependencies drm: handle HAS_IOPORT dependencies PCI/sysfs: make I/O resource depend on HAS_IOPORT PCI: make quirk using inw() depend on HAS_IOPORT firmware: dmi-sysfs: handle HAS_IOPORT dependencies /dev/port: don't compile file operations without CONFIG_DEVPORT usb: handle HAS_IOPORT dependencies asm-generic/io.h: drop inb() etc for HAS_IOPORT=n arch/alpha/Kconfig | 1 + arch/arc/Kconfig | 1 + arch/arm/Kconfig | 1 + arch/arm64/Kconfig | 1 + arch/ia64/Kconfig | 1 + arch/m68k/Kconfig | 1 + arch/microblaze/Kconfig | 1 + arch/mips/Kconfig | 1 + arch/parisc/Kconfig | 1 + arch/powerpc/Kconfig | 1 + arch/riscv/Kconfig | 1 + arch/sh/Kconfig | 1 + arch/sparc/Kconfig | 1 + arch/x86/Kconfig | 1 + drivers/accessibility/speakup/Kconfig | 1 + drivers/acpi/Kconfig | 1 + drivers/ata/Kconfig | 34 ++--- drivers/ata/ata_generic.c | 3 +- drivers/ata/libata-sff.c | 2 + drivers/bus/Kconfig | 2 +- drivers/char/Kconfig | 3 +- drivers/char/ipmi/Makefile | 11 +- drivers/char/ipmi/ipmi_si_intf.c | 3 +- drivers/char/ipmi/ipmi_si_pci.c | 3 + drivers/char/mem.c | 6 +- drivers/char/tpm/Kconfig | 1 + drivers/char/tpm/tpm_infineon.c | 14 +- drivers/char/tpm/tpm_tis_core.c | 19 ++- drivers/comedi/Kconfig | 53 ++++++++ drivers/firmware/dmi-sysfs.c | 4 + drivers/gpio/Kconfig | 2 +- drivers/gpu/drm/qxl/Kconfig | 1 + drivers/gpu/drm/tiny/Kconfig | 1 + drivers/gpu/drm/tiny/cirrus.c | 2 + drivers/hwmon/Kconfig | 21 ++- drivers/i2c/busses/Kconfig | 29 +++-- drivers/iio/adc/Kconfig | 2 +- drivers/input/gameport/Kconfig | 6 +- drivers/input/serio/Kconfig | 2 + drivers/input/touchscreen/Kconfig | 1 + drivers/isdn/hardware/mISDN/Kconfig | 14 +- drivers/leds/Kconfig | 2 +- drivers/media/cec/platform/Kconfig | 2 +- drivers/media/pci/dm1105/Kconfig | 2 +- drivers/media/radio/Kconfig | 15 ++- drivers/media/rc/Kconfig | 6 + drivers/message/fusion/Kconfig | 8 +- drivers/misc/altera-stapl/Makefile | 3 +- drivers/misc/altera-stapl/altera.c | 6 +- drivers/net/Kconfig | 2 +- drivers/net/arcnet/Kconfig | 2 +- drivers/net/can/cc770/Kconfig | 1 + drivers/net/can/sja1000/Kconfig | 1 + drivers/net/ethernet/8390/Kconfig | 2 +- drivers/net/ethernet/amd/Kconfig | 2 +- drivers/net/ethernet/intel/Kconfig | 4 +- drivers/net/ethernet/sis/Kconfig | 6 +- drivers/net/ethernet/ti/Kconfig | 4 +- drivers/net/ethernet/via/Kconfig | 5 +- drivers/net/fddi/Kconfig | 4 +- drivers/net/hamradio/Kconfig | 6 +- drivers/net/wan/Kconfig | 2 +- drivers/net/wireless/atmel/Kconfig | 4 +- drivers/net/wireless/intersil/hostap/Kconfig | 4 +- drivers/parport/Kconfig | 2 +- drivers/pci/Kconfig | 11 ++ drivers/pci/pci-sysfs.c | 16 +++ drivers/pci/quirks.c | 2 + drivers/pcmcia/Kconfig | 2 +- drivers/platform/chrome/Kconfig | 1 + drivers/platform/chrome/wilco_ec/Kconfig | 1 + drivers/pnp/isapnp/Kconfig | 2 +- drivers/power/reset/Kconfig | 1 + drivers/rtc/Kconfig | 4 +- drivers/scsi/Kconfig | 21 +-- drivers/scsi/aic7xxx/Kconfig.aic79xx | 2 +- drivers/scsi/aic7xxx/Kconfig.aic7xxx | 2 +- drivers/scsi/aic94xx/Kconfig | 2 +- drivers/scsi/megaraid/Kconfig.megaraid | 2 +- drivers/scsi/mvsas/Kconfig | 2 +- drivers/scsi/qla2xxx/Kconfig | 2 +- drivers/spi/Kconfig | 1 + drivers/staging/sm750fb/Kconfig | 2 +- drivers/staging/vt6655/Kconfig | 2 +- drivers/tty/Kconfig | 2 +- drivers/tty/serial/Kconfig | 2 +- drivers/usb/core/hcd-pci.c | 3 +- drivers/usb/host/Kconfig | 4 +- drivers/usb/host/pci-quirks.c | 127 ++++++++++--------- drivers/usb/host/pci-quirks.h | 33 +++-- drivers/usb/host/uhci-hcd.c | 2 +- drivers/usb/host/uhci-hcd.h | 77 +++++++---- drivers/video/fbdev/Kconfig | 23 ++-- drivers/watchdog/Kconfig | 6 +- include/asm-generic/io.h | 5 + include/linux/gameport.h | 9 +- include/linux/parport.h | 2 +- include/video/vga.h | 8 ++ lib/Kconfig | 4 + lib/Kconfig.kgdb | 1 + sound/drivers/Kconfig | 3 + sound/pci/Kconfig | 43 +++++-- 102 files changed, 532 insertions(+), 250 deletions(-) -- 2.32.0 _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv
next reply other threads:[~2021-12-27 16:46 UTC|newest] Thread overview: 301+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-12-27 16:42 Niklas Schnelle [this message] 2021-12-27 16:42 ` [RFC 00/32] Kconfig: Introduce HAS_IOPORT and LEGACY_PCI options Niklas Schnelle 2021-12-27 16:42 ` [RFC 01/32] Kconfig: introduce and depend on LEGACY_PCI Niklas Schnelle 2021-12-27 16:42 ` [Intel-wired-lan] " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 17:48 ` Guenter Roeck 2021-12-27 17:48 ` [Intel-wired-lan] " Guenter Roeck 2021-12-27 17:48 ` Guenter Roeck 2021-12-27 17:48 ` Guenter Roeck 2021-12-28 2:09 ` Mauro Carvalho Chehab 2021-12-28 2:09 ` [Intel-wired-lan] " Mauro Carvalho Chehab 2021-12-28 2:09 ` Mauro Carvalho Chehab 2021-12-28 2:09 ` Mauro Carvalho Chehab 2021-12-28 2:09 ` Mauro Carvalho Chehab 2021-12-28 8:21 ` Greg Kroah-Hartman 2021-12-28 8:21 ` [Intel-wired-lan] " Greg Kroah-Hartman 2021-12-28 8:21 ` Greg Kroah-Hartman 2021-12-28 8:21 ` Greg Kroah-Hartman 2021-12-28 8:21 ` Greg Kroah-Hartman 2021-12-28 9:15 ` Mauro Carvalho Chehab 2021-12-28 9:15 ` [Intel-wired-lan] " Mauro Carvalho Chehab 2021-12-28 9:15 ` Mauro Carvalho Chehab 2021-12-28 9:15 ` Mauro Carvalho Chehab 2021-12-28 9:15 ` Mauro Carvalho Chehab 2021-12-28 10:58 ` Niklas Schnelle 2021-12-28 10:58 ` [Intel-wired-lan] " Niklas Schnelle 2021-12-28 10:58 ` Niklas Schnelle 2021-12-28 10:58 ` Niklas Schnelle 2021-12-28 10:58 ` Niklas Schnelle 2021-12-28 12:01 ` Greg Kroah-Hartman 2021-12-28 12:01 ` [Intel-wired-lan] " Greg Kroah-Hartman 2021-12-28 12:01 ` Greg Kroah-Hartman 2021-12-28 12:01 ` Greg Kroah-Hartman 2021-12-28 12:01 ` Greg Kroah-Hartman 2021-12-28 12:54 ` Mauro Carvalho Chehab 2021-12-28 12:54 ` [Intel-wired-lan] " Mauro Carvalho Chehab 2021-12-28 12:54 ` Mauro Carvalho Chehab 2021-12-28 12:54 ` Mauro Carvalho Chehab 2021-12-28 12:54 ` Mauro Carvalho Chehab 2021-12-28 15:06 ` Niklas Schnelle 2021-12-28 15:06 ` [Intel-wired-lan] " Niklas Schnelle 2021-12-28 15:06 ` Niklas Schnelle 2021-12-28 15:06 ` Niklas Schnelle 2021-12-28 15:06 ` Niklas Schnelle 2021-12-28 17:12 ` Mauro Carvalho Chehab 2021-12-28 17:12 ` [Intel-wired-lan] " Mauro Carvalho Chehab 2021-12-28 17:12 ` Mauro Carvalho Chehab 2021-12-28 17:12 ` Mauro Carvalho Chehab 2021-12-28 17:12 ` Mauro Carvalho Chehab 2021-12-29 11:45 ` Niklas Schnelle 2021-12-29 11:45 ` [Intel-wired-lan] " Niklas Schnelle 2021-12-29 11:45 ` Niklas Schnelle 2021-12-29 11:45 ` Niklas Schnelle 2021-12-29 12:12 ` Mauro Carvalho Chehab 2021-12-29 12:12 ` [Intel-wired-lan] " Mauro Carvalho Chehab 2021-12-29 12:12 ` Mauro Carvalho Chehab 2021-12-29 12:12 ` Mauro Carvalho Chehab 2021-12-29 16:03 ` Bjorn Helgaas 2021-12-29 16:03 ` [Intel-wired-lan] " Bjorn Helgaas 2021-12-29 16:03 ` Bjorn Helgaas 2021-12-29 16:03 ` Bjorn Helgaas 2021-12-29 16:55 ` Niklas Schnelle 2021-12-29 16:55 ` [Intel-wired-lan] " Niklas Schnelle 2021-12-29 16:55 ` Niklas Schnelle 2021-12-29 16:55 ` Niklas Schnelle 2022-01-05 17:42 ` John Garry 2022-01-05 17:42 ` [Intel-wired-lan] " John Garry 2022-01-05 17:42 ` John Garry 2022-01-05 17:42 ` John Garry 2022-01-05 19:47 ` Bjorn Helgaas 2022-01-05 19:47 ` [Intel-wired-lan] " Bjorn Helgaas 2022-01-05 19:47 ` Bjorn Helgaas 2022-01-05 19:47 ` Bjorn Helgaas 2022-01-06 17:41 ` John Garry 2022-01-06 17:41 ` [Intel-wired-lan] " John Garry 2022-01-06 17:41 ` John Garry 2022-01-06 18:14 ` Bjorn Helgaas 2022-01-06 18:14 ` [Intel-wired-lan] " Bjorn Helgaas 2022-01-06 18:14 ` Bjorn Helgaas 2022-01-06 18:14 ` Bjorn Helgaas 2022-01-07 17:16 ` John Garry 2022-01-07 17:16 ` [Intel-wired-lan] " John Garry 2022-01-07 17:16 ` John Garry 2022-01-07 17:16 ` John Garry 2022-01-10 9:34 ` Niklas Schnelle 2022-01-10 9:34 ` [Intel-wired-lan] " Niklas Schnelle 2022-01-10 9:34 ` Niklas Schnelle 2022-01-10 9:34 ` Niklas Schnelle 2021-12-27 16:42 ` [RFC 02/32] Kconfig: introduce HAS_IOPORT option and select it as necessary Niklas Schnelle 2021-12-27 16:42 ` [OpenRISC] " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-28 10:08 ` Geert Uytterhoeven 2021-12-28 10:08 ` [OpenRISC] " Geert Uytterhoeven 2021-12-28 10:08 ` Geert Uytterhoeven 2021-12-28 10:08 ` Geert Uytterhoeven 2021-12-28 10:08 ` Geert Uytterhoeven 2021-12-29 1:20 ` Michael Schmitz 2021-12-29 1:20 ` [OpenRISC] " Michael Schmitz 2021-12-29 1:20 ` Michael Schmitz 2021-12-29 1:20 ` Michael Schmitz 2021-12-29 1:20 ` Michael Schmitz 2021-12-29 3:41 ` Arnd Bergmann 2021-12-29 3:41 ` [OpenRISC] " Arnd Bergmann 2021-12-29 3:41 ` Arnd Bergmann 2021-12-29 3:41 ` Arnd Bergmann 2021-12-29 3:41 ` Arnd Bergmann 2021-12-29 4:15 ` Michael Schmitz 2021-12-29 4:15 ` [OpenRISC] " Michael Schmitz 2021-12-29 4:15 ` Michael Schmitz 2021-12-29 4:15 ` Michael Schmitz 2021-12-29 4:15 ` Michael Schmitz 2021-12-30 1:48 ` Arnd Bergmann 2021-12-30 1:48 ` [OpenRISC] " Arnd Bergmann 2021-12-30 1:48 ` Arnd Bergmann 2021-12-30 1:48 ` Arnd Bergmann 2021-12-30 1:48 ` Arnd Bergmann 2021-12-30 3:44 ` Michael Schmitz 2021-12-30 3:44 ` [OpenRISC] " Michael Schmitz 2021-12-30 3:44 ` Michael Schmitz 2021-12-30 3:44 ` Michael Schmitz 2021-12-30 3:44 ` Michael Schmitz 2021-12-31 11:28 ` Niklas Schnelle 2021-12-31 11:28 ` [OpenRISC] " Niklas Schnelle 2021-12-31 11:28 ` Niklas Schnelle 2021-12-31 11:28 ` Niklas Schnelle 2021-12-31 11:28 ` Niklas Schnelle 2021-12-31 16:04 ` Arnd Bergmann 2021-12-31 16:04 ` [OpenRISC] " Arnd Bergmann 2021-12-31 16:04 ` Arnd Bergmann 2021-12-31 16:04 ` Arnd Bergmann 2021-12-31 16:04 ` Arnd Bergmann 2021-12-31 21:55 ` Michael Schmitz 2021-12-31 21:55 ` [OpenRISC] " Michael Schmitz 2021-12-31 21:55 ` Michael Schmitz 2021-12-31 21:55 ` Michael Schmitz 2021-12-31 21:55 ` Michael Schmitz 2021-12-28 16:32 ` Mauro Carvalho Chehab 2021-12-28 16:32 ` [OpenRISC] " Mauro Carvalho Chehab 2021-12-28 16:32 ` Mauro Carvalho Chehab 2021-12-28 16:32 ` Mauro Carvalho Chehab 2021-12-28 16:32 ` Mauro Carvalho Chehab 2021-12-27 16:42 ` [RFC 03/32] ACPI: Kconfig: add HAS_IOPORT dependencies Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:47 ` Rafael J. Wysocki 2021-12-27 16:47 ` Rafael J. Wysocki 2021-12-27 17:02 ` Niklas Schnelle 2021-12-27 17:02 ` Niklas Schnelle 2021-12-27 17:12 ` Rafael J. Wysocki 2021-12-27 17:12 ` Rafael J. Wysocki 2021-12-27 17:15 ` Rafael J. Wysocki 2021-12-27 17:15 ` Rafael J. Wysocki 2021-12-27 17:43 ` Niklas Schnelle 2021-12-27 17:43 ` Niklas Schnelle 2021-12-28 15:20 ` Rafael J. Wysocki 2021-12-28 15:20 ` Rafael J. Wysocki 2021-12-28 16:31 ` Niklas Schnelle 2021-12-28 16:31 ` Niklas Schnelle 2021-12-27 16:42 ` [RFC 04/32] parport: PC style parport depends on HAS_IOPORT Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-28 10:14 ` Geert Uytterhoeven 2021-12-28 10:14 ` Geert Uytterhoeven 2021-12-28 14:21 ` Niklas Schnelle 2021-12-28 14:21 ` Niklas Schnelle 2021-12-29 2:58 ` Arnd Bergmann 2021-12-29 2:58 ` Arnd Bergmann 2021-12-27 16:42 ` [RFC 05/32] char: impi, tpm: depend " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-28 10:17 ` Geert Uytterhoeven 2021-12-28 10:17 ` Geert Uytterhoeven 2021-12-28 12:13 ` Niklas Schnelle 2021-12-28 12:13 ` Niklas Schnelle 2021-12-27 16:42 ` [RFC 06/32] speakup: Kconfig: add HAS_IOPORT dependencies Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 17:52 ` Samuel Thibault 2021-12-27 17:52 ` Samuel Thibault 2021-12-27 16:42 ` [RFC 07/32] Input: gameport: add ISA and " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:42 ` [RFC 08/32] comedi: Kconfig: add " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:42 ` [RFC 09/32] sound: " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:42 ` [RFC 10/32] i2c: " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-28 10:21 ` Geert Uytterhoeven 2021-12-28 10:21 ` Geert Uytterhoeven 2021-12-28 12:13 ` Niklas Schnelle 2021-12-28 12:13 ` Niklas Schnelle 2021-12-27 16:42 ` [RFC 11/32] Input: " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-28 10:23 ` Geert Uytterhoeven 2021-12-28 10:23 ` Geert Uytterhoeven 2021-12-27 16:42 ` [RFC 12/32] iio: adc: " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-28 10:32 ` Geert Uytterhoeven 2021-12-28 10:32 ` Geert Uytterhoeven 2021-12-28 12:50 ` Niklas Schnelle 2021-12-28 12:50 ` Niklas Schnelle 2021-12-28 17:01 ` Jonathan Cameron 2021-12-28 17:01 ` Jonathan Cameron 2022-01-30 15:05 ` Jonathan Cameron 2022-01-30 15:05 ` Jonathan Cameron 2021-12-27 16:42 ` [RFC 13/32] hwmon: " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 18:07 ` Guenter Roeck 2021-12-27 18:07 ` Guenter Roeck 2021-12-27 16:42 ` [RFC 14/32] leds: " Niklas Schnelle 2021-12-27 16:42 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 15/32] media: " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 16/32] misc: handle " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-28 8:15 ` Greg Kroah-Hartman 2021-12-28 8:15 ` Greg Kroah-Hartman 2021-12-27 16:43 ` [RFC 17/32] net: Kconfig: add " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 17:28 ` Marc Kleine-Budde 2021-12-27 17:28 ` Marc Kleine-Budde 2021-12-27 16:43 ` [RFC 18/32] pcmcia: " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 18:41 ` Dominik Brodowski 2021-12-27 18:41 ` Dominik Brodowski 2021-12-27 16:43 ` [RFC 19/32] platform: " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 20/32] pnp: " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 21/32] power: " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 22/32] video: handle " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 23/32] rtc: Kconfig: add " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 24/32] scsi: " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-28 10:40 ` Geert Uytterhoeven 2021-12-28 10:40 ` Geert Uytterhoeven 2021-12-27 16:43 ` [RFC 25/32] watchdog: " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 18:03 ` Guenter Roeck 2021-12-27 18:03 ` Guenter Roeck 2021-12-28 9:58 ` Niklas Schnelle 2021-12-28 9:58 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 26/32] drm: handle " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2022-01-03 6:11 ` Gerd Hoffmann 2022-01-03 6:11 ` Gerd Hoffmann 2022-01-03 6:11 ` Gerd Hoffmann 2022-01-03 6:11 ` Gerd Hoffmann 2021-12-27 16:43 ` [RFC 27/32] PCI/sysfs: make I/O resource depend on HAS_IOPORT Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 22:04 ` Bjorn Helgaas 2021-12-27 22:04 ` Bjorn Helgaas 2021-12-27 16:43 ` [RFC 28/32] PCI: make quirk using inw() " Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 22:33 ` Bjorn Helgaas 2021-12-27 22:33 ` Bjorn Helgaas 2021-12-28 15:25 ` Niklas Schnelle 2021-12-28 15:25 ` Niklas Schnelle 2021-12-28 16:35 ` Bjorn Helgaas 2021-12-28 16:35 ` Bjorn Helgaas 2021-12-28 16:52 ` Niklas Schnelle 2021-12-28 16:52 ` Niklas Schnelle 2021-12-28 17:28 ` Bjorn Helgaas 2021-12-28 17:28 ` Bjorn Helgaas 2021-12-27 16:43 ` [RFC 29/32] firmware: dmi-sysfs: handle HAS_IOPORT dependencies Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 16:43 ` [RFC 30/32] /dev/port: don't compile file operations without CONFIG_DEVPORT Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-28 8:17 ` Greg Kroah-Hartman 2021-12-28 8:17 ` Greg Kroah-Hartman 2021-12-29 10:25 ` Niklas Schnelle 2021-12-29 10:25 ` Niklas Schnelle 2021-12-29 10:38 ` Greg Kroah-Hartman 2021-12-29 10:38 ` Greg Kroah-Hartman 2021-12-30 16:19 ` Arnd Bergmann 2021-12-30 16:19 ` Arnd Bergmann 2021-12-27 16:43 ` [RFC 31/32] usb: handle HAS_IOPORT dependencies Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2021-12-27 20:36 ` Alan Stern 2021-12-27 20:36 ` Alan Stern 2021-12-31 11:06 ` Niklas Schnelle 2021-12-31 11:06 ` Niklas Schnelle 2021-12-31 17:15 ` Alan Stern 2021-12-31 17:15 ` Alan Stern 2022-01-03 11:35 ` Niklas Schnelle 2022-01-03 11:35 ` Niklas Schnelle 2022-01-03 16:15 ` Alan Stern 2022-01-03 16:15 ` Alan Stern 2021-12-27 16:43 ` [RFC 32/32] asm-generic/io.h: drop inb() etc for HAS_IOPORT=n Niklas Schnelle 2021-12-27 16:43 ` Niklas Schnelle 2022-01-06 17:45 ` [RFC 00/32] Kconfig: Introduce HAS_IOPORT and LEGACY_PCI options John Garry 2022-01-06 17:45 ` John Garry 2022-01-07 7:21 ` Niklas Schnelle 2022-01-07 7:21 ` Niklas Schnelle 2022-01-07 16:57 ` John Garry 2022-01-07 16:57 ` John Garry
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20211227164317.4146918-1-schnelle@linux.ibm.com \ --to=schnelle@linux.ibm.com \ --cc=aou@eecs.berkeley.edu \ --cc=arnd@kernel.org \ --cc=bhelgaas@google.com \ --cc=deanbo422@gmail.com \ --cc=green.hu@gmail.com \ --cc=guoren@kernel.org \ --cc=john.garry@huawei.com \ --cc=linux-arch@vger.kernel.org \ --cc=linux-csky@vger.kernel.org \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-pci@vger.kernel.org \ --cc=linux-riscv@lists.infradead.org \ --cc=nickhu@andestech.com \ --cc=palmer@dabbelt.com \ --cc=paul.walmsley@sifive.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.