2024-04-03 12:43:39

by Niklas Schnelle

[permalink] [raw]
Subject: [PATCH 0/1] um: Handle HAS_IOPORT dependencies

Hi Richard, Anton, Johannes,

This is a follow up in my ongoing effort of making 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 a significant
subset of patches merged I've changed 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 final
patch that will make the I/O port accessors compile-time optional.

The current state of the full series with changes to the remaining
subsystems and the aforementioned final patch can be found for your
convenience on my git.kernel.org tree in the has_ioport_v6 branch[1] with
signed tags. As for compile-time vs runtime see Linus' reply to my first
attempt[2].

Thanks,
Niklas

[0] https://lore.kernel.org/all/[email protected]/
[1] https://git.kernel.org/pub/scm/linux/kernel/git/niks/linux.git/log/?h=has_ioport_v6
[2] https://lore.kernel.org/lkml/CAHk-=wg80je=K7madF4e7WrRNp37e3qh6y10Svhdc7O8SZ_-8g@mail.gmail.com/

Niklas Schnelle (1):
um: Select HAS_IOREMAP for UML_IOMEM_EMULATION

arch/um/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

--
2.40.1



2024-04-03 12:59:39

by Niklas Schnelle

[permalink] [raw]
Subject: [PATCH 1/1] um: Select HAS_IOREMAP for UML_IOMEM_EMULATION

In a future patch HAS_IOPORT=n will disable inb()/outb() and friends at
compile time. UML supports these via its UML_IOMEM_EMULATION so let that
select HAS_IOPORT and also reflect this in NO_IOPORT_MAP.

Co-developed-by: Arnd Bergmann <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>
Signed-off-by: Niklas Schnelle <[email protected]>
---
arch/um/Kconfig | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/arch/um/Kconfig b/arch/um/Kconfig
index 93a5a8999b07..758016731156 100644
--- a/arch/um/Kconfig
+++ b/arch/um/Kconfig
@@ -48,12 +48,13 @@ config NO_IOMEM
config UML_IOMEM_EMULATION
bool
select INDIRECT_IOMEM
+ select HAS_IOPORT
select GENERIC_PCI_IOMAP
select GENERIC_IOMAP
select NO_GENERIC_PCI_IOPORT_MAP

config NO_IOPORT_MAP
- def_bool y
+ def_bool !UML_IOMEM_EMULATION

config ISA
bool
--
2.40.1