linux-hexagon.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v8 0/5] treewide: Remove I/O port accessors for HAS_IOPORT=n
@ 2024-10-08 12:39 Niklas Schnelle
  2024-10-08 12:39 ` [PATCH v8 1/5] hexagon: Don't select GENERIC_IOMAP without HAS_IOPORT support Niklas Schnelle
                   ` (4 more replies)
  0 siblings, 5 replies; 15+ messages in thread
From: Niklas Schnelle @ 2024-10-08 12:39 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 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           |  1 +
 drivers/gpu/drm/tiny/bochs.c          | 17 ++++++++++
 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, 174 insertions(+), 16 deletions(-)
---
base-commit: 8cf0b93919e13d1e8d4466eb4080a4c4d9d66d7b
change-id: 20241004-b4-has_ioport-60ac6ce1deb6

Best regards,
-- 
Niklas Schnelle


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

end of thread, other threads:[~2024-10-24  9:31 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-10-08 12:39 [PATCH v8 0/5] treewide: Remove I/O port accessors for HAS_IOPORT=n Niklas Schnelle
2024-10-08 12:39 ` [PATCH v8 1/5] hexagon: Don't select GENERIC_IOMAP without HAS_IOPORT support Niklas Schnelle
2024-10-08 12:39 ` [PATCH v8 2/5] Bluetooth: add HAS_IOPORT dependencies Niklas Schnelle
2024-10-08 12:39 ` [PATCH v8 3/5] drm: handle " Niklas Schnelle
2024-10-21  7:52   ` Thomas Zimmermann
2024-10-21 10:08     ` Arnd Bergmann
2024-10-21 10:58       ` Thomas Zimmermann
2024-10-21 11:01         ` Thomas Zimmermann
2024-10-21 11:18         ` Niklas Schnelle
2024-10-24  9:30           ` Niklas Schnelle
2024-10-21 11:21         ` Arnd Bergmann
2024-10-08 12:39 ` [PATCH v8 4/5] tty: serial: " Niklas Schnelle
2024-10-11  6:09   ` Greg Kroah-Hartman
2024-10-13 14:53   ` Maciej W. Rozycki
2024-10-08 12:39 ` [PATCH v8 5/5] asm-generic/io.h: Remove I/O port accessors for HAS_IOPORT=n Niklas Schnelle

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).