* [PATCH 0/1] /dev/port: Handle HAS_IOPORT dependencies
@ 2024-04-04 11:49 Niklas Schnelle
2024-04-04 11:49 ` [PATCH 1/1] /dev/port: don't compile file operations without CONFIG_DEVPORT Niklas Schnelle
0 siblings, 1 reply; 2+ messages in thread
From: Niklas Schnelle @ 2024-04-04 11:49 UTC (permalink / raw)
To: Greg Kroah-Hartman, Arnd Bergmann
Cc: Heiko Carstens, linux-kernel, Niklas Schnelle
Hi Greg, Hi Arnd,
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/20230522105049.1467313-1-schnelle@linux.ibm.com/
[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):
/dev/port: don't compile file operations without CONFIG_DEVPORT
drivers/char/mem.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
--
2.40.1
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 1/1] /dev/port: don't compile file operations without CONFIG_DEVPORT
2024-04-04 11:49 [PATCH 0/1] /dev/port: Handle HAS_IOPORT dependencies Niklas Schnelle
@ 2024-04-04 11:49 ` Niklas Schnelle
0 siblings, 0 replies; 2+ messages in thread
From: Niklas Schnelle @ 2024-04-04 11:49 UTC (permalink / raw)
To: Greg Kroah-Hartman, Arnd Bergmann
Cc: Heiko Carstens, linux-kernel, Niklas Schnelle
In the future inb() and friends will not be available when compiling
with CONFIG_HAS_IOPORT=n so we must only try to access them here if
CONFIG_DEVPORT is set which depends on HAS_IOPORT.
Co-developed-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@kernel.org>
Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com>
---
Note: This patch does not depend any not-yet-mainline HAS_IOPORT changes
and may be merged via subsystem specific trees at your earliest
convenience.
drivers/char/mem.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/drivers/char/mem.c b/drivers/char/mem.c
index 3c6670cf905f..7904e2bb6427 100644
--- a/drivers/char/mem.c
+++ b/drivers/char/mem.c
@@ -383,6 +383,7 @@ static int mmap_mem(struct file *file, struct vm_area_struct *vma)
return 0;
}
+#ifdef CONFIG_DEVPORT
static ssize_t read_port(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
{
@@ -424,6 +425,7 @@ static ssize_t write_port(struct file *file, const char __user *buf,
*ppos = i;
return tmp-buf;
}
+#endif
static ssize_t read_null(struct file *file, char __user *buf,
size_t count, loff_t *ppos)
@@ -653,12 +655,14 @@ static const struct file_operations null_fops = {
.uring_cmd = uring_cmd_null,
};
-static const struct file_operations __maybe_unused port_fops = {
+#ifdef CONFIG_DEVPORT
+static const struct file_operations port_fops = {
.llseek = memory_lseek,
.read = read_port,
.write = write_port,
.open = open_port,
};
+#endif
static const struct file_operations zero_fops = {
.llseek = zero_lseek,
--
2.40.1
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2024-04-04 11:49 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-04-04 11:49 [PATCH 0/1] /dev/port: Handle HAS_IOPORT dependencies Niklas Schnelle
2024-04-04 11:49 ` [PATCH 1/1] /dev/port: don't compile file operations without CONFIG_DEVPORT Niklas Schnelle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®