Intel-XE Archive on lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v9 0/5] treewide: Remove I/O port accessors for HAS_IOPORT=n
@ 2024-10-24 17:54 Niklas Schnelle
  2024-10-24 17:54 ` [PATCH v9 1/5] hexagon: Don't select GENERIC_IOMAP without HAS_IOPORT support Niklas Schnelle
                   ` (6 more replies)
  0 siblings, 7 replies; 10+ messages in thread
From: Niklas Schnelle @ 2024-10-24 17:54 UTC (permalink / raw)
  To: Brian Cain, Marcel Holtmann, Luiz Augusto von Dentz,
	Patrik Jakobsson, Maarten Lankhorst, Maxime Ripard,
	Thomas Zimmermann, David Airlie, Simona Vetter, Dave Airlie,
	Gerd Hoffmann, Lucas De Marchi, Thomas Hellström,
	Rodrigo Vivi, Greg Kroah-Hartman, Jiri Slaby, Arnd Bergmann,
	Maciej W. Rozycki, Heiko Carstens
  Cc: linux-kernel, linux-hexagon, linux-bluetooth, dri-devel,
	virtualization, spice-devel, intel-xe, linux-serial, linux-arch,
	Niklas Schnelle, Arnd Bergmann

Hi All,

This is a follow up in my long running effort of making inb()/outb() and
similar I/O port accessors compile-time optional. After initially
sending this as a treewide series with the latest revision at[0]
we switched to per subsystem series. Now though as we're left with only
5 patches left I'm going back to a single series with Arnd planning
to take this via the the asm-generic tree.

This series may also be viewed for your convenience on my git.kernel.org
tree[1] under the b4/has_ioport branch. As for compile-time vs runtime
see Linus' reply to my first attempt[2].

Thanks,
Niklas

[0] https://lore.kernel.org/all/20230522105049.1467313-1-schnelle@linux.ibm.com/
[1] https://git.kernel.org/pub/scm/linux/kernel/git/niks/linux.git
[2] https://lore.kernel.org/lkml/CAHk-=wg80je=K7madF4e7WrRNp37e3qh6y10Svhdc7O8SZ_-8g@mail.gmail.com/

Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
Changes in v9:
- In drm patch sort includes and reformat if (Thomas). Use IS_ENABELD()
  and add a helper instead of #ifdef (Arnd, Thomas)
- Rebased on v6.12-rc4
- Compile tested applied to next. There are a few conflicts with drm
  next but they're all just context changes
- Link to v8: https://lore.kernel.org/r/20241008-b4-has_ioport-v8-0-793e68aeadda@linux.ibm.com

Changes in v8:
- Don't remove "depends on !S390" for SERIAL_8250
- Link to v7: https://lore.kernel.org/r/20241008-b4-has_ioport-v7-0-8624c09a4d77@linux.ibm.com

Changes in v7:
- Renamed serial_8250_need_ioport() helper to
  serial_8250_warn_need_ioport() and move it to 8250_pcilib.c so it can
  be used in serial8250_pci_setup_port()
- Flattened if in serial8250_pci_setup_port() (Maciej)
- Removed gratuituous changes (Maciej)
- Removed is_upf_fourport() helper in favor of zeroing UPF_FOURPORT
  if CONFIG_HAS_IOPORT is not set (Maciej)
- Link to v6: https://lore.kernel.org/r/20241007-b4-has_ioport-v6-0-03f7240da6e5@linux.ibm.com

Changes since v5 / per subsystem patches:

drm:
- Add HAS_IOPORT dependency for GMA500
tty: serial:
- Make 8250 PCI driver emit an error message when trying to use devices
  which require I/O ports without CONFIG_HAS_IOPORT (Maciej)
- Use early returns + dead code elimination to skip inb()/outb() uses
  in quirks (Arnd)
- In 8250 PCI driver also handle fintek and moxi quirks
- In 8250 ports code handle um's defined(__i385__) &&
  defined(CONFIG_HAS_IOPORT) case
- Use IS_ENABLED() early return also in is_upf_fourport()
  __always_inline to force constant folding

---
Niklas Schnelle (5):
      hexagon: Don't select GENERIC_IOMAP without HAS_IOPORT support
      Bluetooth: add HAS_IOPORT dependencies
      drm: handle HAS_IOPORT dependencies
      tty: serial: handle HAS_IOPORT dependencies
      asm-generic/io.h: Remove I/O port accessors for HAS_IOPORT=n

 arch/hexagon/Kconfig                  |  1 -
 drivers/bluetooth/Kconfig             |  6 ++--
 drivers/gpu/drm/gma500/Kconfig        |  2 +-
 drivers/gpu/drm/qxl/Kconfig           |  2 +-
 drivers/gpu/drm/tiny/bochs.c          | 19 ++++++++---
 drivers/gpu/drm/tiny/cirrus.c         |  2 ++
 drivers/gpu/drm/xe/Kconfig            |  2 +-
 drivers/tty/Kconfig                   |  4 +--
 drivers/tty/serial/8250/8250_early.c  |  4 +++
 drivers/tty/serial/8250/8250_pci.c    | 40 +++++++++++++++++++++++
 drivers/tty/serial/8250/8250_pcilib.c | 12 ++++++-
 drivers/tty/serial/8250/8250_pcilib.h |  2 ++
 drivers/tty/serial/8250/8250_port.c   | 27 +++++++++++++---
 drivers/tty/serial/8250/Kconfig       |  4 +--
 drivers/tty/serial/Kconfig            |  2 +-
 include/asm-generic/io.h              | 60 +++++++++++++++++++++++++++++++++++
 include/linux/serial_core.h           |  4 +++
 17 files changed, 171 insertions(+), 22 deletions(-)
---
base-commit: 42f7652d3eb527d03665b09edac47f85fb600924
change-id: 20241004-b4-has_ioport-60ac6ce1deb6

Best regards,
-- 
Niklas Schnelle


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2024-10-25 15:12 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-24 17:54 [PATCH v9 0/5] treewide: Remove I/O port accessors for HAS_IOPORT=n Niklas Schnelle
2024-10-24 17:54 ` [PATCH v9 1/5] hexagon: Don't select GENERIC_IOMAP without HAS_IOPORT support Niklas Schnelle
2024-10-24 17:54 ` [PATCH v9 2/5] Bluetooth: add HAS_IOPORT dependencies Niklas Schnelle
2024-10-24 17:54 ` [PATCH v9 3/5] drm: handle " Niklas Schnelle
2024-10-25 13:52   ` Thomas Zimmermann
2024-10-24 17:54 ` [PATCH v9 4/5] tty: serial: " Niklas Schnelle
2024-10-24 17:54 ` [PATCH v9 5/5] asm-generic/io.h: Remove I/O port accessors for HAS_IOPORT=n Niklas Schnelle
2024-10-25  4:22 ` ✗ CI.Patch_applied: failure for treewide: Remove I/O port accessors for HAS_IOPORT=n (rev4) Patchwork
2024-10-25 13:41 ` [PATCH v9 0/5] treewide: Remove I/O port accessors for HAS_IOPORT=n Arnd Bergmann
2024-10-25 15:11   ` Niklas Schnelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox