* [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary [not found] <20230314121216.413434-1-schnelle@linux.ibm.com> @ 2023-03-14 12:11 ` Niklas Schnelle 2023-03-14 12:37 ` Johannes Berg ` (3 more replies) [not found] ` <20230314121216.413434-29-schnelle@linux.ibm.com> 1 sibling, 4 replies; 11+ messages in thread From: Niklas Schnelle @ 2023-03-14 12:11 UTC (permalink / raw) To: Arnd Bergmann, Richard Henderson, Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas, Will Deacon, Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller, Michael Ellerman, Nicholas Piggin, Christophe Leroy, Paul Walmsley, Palmer Dabbelt, Albert Ou, Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz, David S. Miller, Richard Weinberger, Anton Ivanov, Johannes Berg, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin Cc: Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J. Wysocki, linux-kernel, linux-arch, linux-pci, Arnd Bergmann, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-sh, sparclinux, linux-um We introduce a new HAS_IOPORT Kconfig option to indicate support for I/O Port access. In a future patch HAS_IOPORT=n will disable compilation of the I/O accessor functions inb()/outb() and friends on architectures which can not meaningfully support legacy I/O spaces such as s390. Also add dependencies on HAS_IOPORT for the ISA and HAVE_EISA config options as these busses always go along with HAS_IOPORT. The "depends on" relations on HAS_IOPORT in drivers as well as ifdefs for HAS_IOPORT specific sections will be added in subsequent patches on a per subsystem basis. Co-developed-by: Arnd Bergmann <arnd@kernel.org> Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> --- arch/alpha/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 | 2 ++ arch/parisc/Kconfig | 2 ++ arch/powerpc/Kconfig | 2 +- arch/riscv/Kconfig | 1 + arch/sh/Kconfig | 1 + arch/sparc/Kconfig | 1 + arch/um/Kconfig | 1 + arch/x86/Kconfig | 2 ++ drivers/bus/Kconfig | 2 +- drivers/eisa/Kconfig | 1 + lib/Kconfig | 4 ++++ lib/Kconfig.kgdb | 3 ++- 18 files changed, 25 insertions(+), 3 deletions(-) diff --git a/arch/alpha/Kconfig b/arch/alpha/Kconfig index 780d4673c3ca..a5c2b1aa46b0 100644 --- a/arch/alpha/Kconfig +++ b/arch/alpha/Kconfig @@ -27,6 +27,7 @@ config ALPHA select AUDIT_ARCH select GENERIC_CPU_VULNERABILITIES select GENERIC_SMP_IDLE_THREAD + select HAS_IOPORT select HAVE_ARCH_AUDITSYSCALL select HAVE_MOD_ARCH_SPECIFIC select MODULES_USE_ELF_RELA diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index e24a9820e12f..4acb5bc4b52a 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -70,6 +70,7 @@ config ARM select GENERIC_SCHED_CLOCK select GENERIC_SMP_IDLE_THREAD select HARDIRQS_SW_RESEND + select HAS_IOPORT select HAVE_ARCH_AUDITSYSCALL if AEABI && !OABI_COMPAT select HAVE_ARCH_BITREVERSE if (CPU_32v7M || CPU_32v7) && !CPU_32v6 select HAVE_ARCH_JUMP_LABEL if !XIP_KERNEL && !CPU_ENDIAN_BE32 && MMU diff --git a/arch/arm64/Kconfig b/arch/arm64/Kconfig index 1023e896d46b..b740019c4aee 100644 --- a/arch/arm64/Kconfig +++ b/arch/arm64/Kconfig @@ -145,6 +145,7 @@ config ARM64 select GENERIC_GETTIMEOFDAY select GENERIC_VDSO_TIME_NS select HARDIRQS_SW_RESEND + select HAS_IOPORT select HAVE_MOVE_PMD select HAVE_MOVE_PUD select HAVE_PCI diff --git a/arch/ia64/Kconfig b/arch/ia64/Kconfig index d7e4a24e8644..2e13ec8263b9 100644 --- a/arch/ia64/Kconfig +++ b/arch/ia64/Kconfig @@ -25,6 +25,7 @@ config IA64 select PCI_DOMAINS if PCI select PCI_MSI select PCI_SYSCALL if PCI + select HAS_IOPORT select HAVE_ASM_MODVERSIONS select HAVE_UNSTABLE_SCHED_CLOCK select HAVE_EXIT_THREAD diff --git a/arch/m68k/Kconfig b/arch/m68k/Kconfig index 82154952e574..40198a1ebe27 100644 --- a/arch/m68k/Kconfig +++ b/arch/m68k/Kconfig @@ -18,6 +18,7 @@ config M68K select GENERIC_CPU_DEVICES select GENERIC_IOMAP select GENERIC_IRQ_SHOW + select HAS_IOPORT if PCI || ISA || ATARI_ROM_ISA select HAVE_ARCH_SECCOMP select HAVE_ARCH_SECCOMP_FILTER select HAVE_ASM_MODVERSIONS diff --git a/arch/microblaze/Kconfig b/arch/microblaze/Kconfig index cc88af6fa7a4..211f338d6235 100644 --- a/arch/microblaze/Kconfig +++ b/arch/microblaze/Kconfig @@ -21,6 +21,7 @@ config MICROBLAZE select GENERIC_IRQ_SHOW select GENERIC_PCI_IOMAP select GENERIC_SCHED_CLOCK + select HAS_IOPORT if PCI select HAVE_ARCH_HASH select HAVE_ARCH_KGDB select HAVE_ARCH_SECCOMP diff --git a/arch/mips/Kconfig b/arch/mips/Kconfig index e2f3ca73f40d..64760fcd7b52 100644 --- a/arch/mips/Kconfig +++ b/arch/mips/Kconfig @@ -47,6 +47,7 @@ config MIPS select GENERIC_SMP_IDLE_THREAD select GENERIC_TIME_VSYSCALL select GUP_GET_PXX_LOW_HIGH if CPU_MIPS32 && PHYS_ADDR_T_64BIT + select HAS_IOPORT if !NO_IOPORT_MAP select HAVE_ARCH_COMPILER_H select HAVE_ARCH_JUMP_LABEL select HAVE_ARCH_KGDB if MIPS_FP_SUPPORT @@ -3120,6 +3121,7 @@ config PCI_DRIVERS_LEGACY # users to choose the right thing ... # config ISA + depends on HAS_IOPORT bool config TC diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig index a98940e64243..5eeacc72e4da 100644 --- a/arch/parisc/Kconfig +++ b/arch/parisc/Kconfig @@ -47,6 +47,7 @@ config PARISC select MODULES_USE_ELF_RELA select CLONE_BACKWARDS select TTY # Needed for pdc_cons.c + select HAS_IOPORT if PCI select HAVE_DEBUG_STACKOVERFLOW select HAVE_ARCH_AUDITSYSCALL select HAVE_ARCH_HASH @@ -131,6 +132,7 @@ config STACKTRACE_SUPPORT config ISA_DMA_API bool + depends on HAS_IOPORT config ARCH_MAY_HAVE_PC_FDC bool diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig index a6c4407d3ec8..f7de646c074a 100644 --- a/arch/powerpc/Kconfig +++ b/arch/powerpc/Kconfig @@ -188,6 +188,7 @@ config PPC select GENERIC_SMP_IDLE_THREAD select GENERIC_TIME_VSYSCALL select GENERIC_VDSO_TIME_NS + select HAS_IOPORT if PCI select HAVE_ARCH_AUDITSYSCALL select HAVE_ARCH_HUGE_VMALLOC if HAVE_ARCH_HUGE_VMAP select HAVE_ARCH_HUGE_VMAP if PPC_RADIX_MMU || PPC_8xx @@ -1070,7 +1071,6 @@ menu "Bus options" config ISA bool "Support for ISA-bus hardware" - depends on PPC_CHRP select PPC_I8259 help Find out whether you have ISA slots on your motherboard. ISA is the diff --git a/arch/riscv/Kconfig b/arch/riscv/Kconfig index c5e42cc37604..b957d12a171b 100644 --- a/arch/riscv/Kconfig +++ b/arch/riscv/Kconfig @@ -74,6 +74,7 @@ config RISCV select GENERIC_TIME_VSYSCALL if MMU && 64BIT select GENERIC_VDSO_TIME_NS if HAVE_GENERIC_VDSO select HARDIRQS_SW_RESEND + select HAS_IOPORT if MMU select HAVE_ARCH_AUDITSYSCALL select HAVE_ARCH_HUGE_VMALLOC if HAVE_ARCH_HUGE_VMAP select HAVE_ARCH_HUGE_VMAP if MMU && 64BIT && !XIP_KERNEL diff --git a/arch/sh/Kconfig b/arch/sh/Kconfig index 0665ac0add0b..cfb797bc4200 100644 --- a/arch/sh/Kconfig +++ b/arch/sh/Kconfig @@ -25,6 +25,7 @@ config SUPERH select GENERIC_SCHED_CLOCK select GENERIC_SMP_IDLE_THREAD select GUP_GET_PXX_LOW_HIGH if X2TLB + select HAS_IOPORT if HAS_IOPORT_MAP select HAVE_ARCH_AUDITSYSCALL select HAVE_ARCH_KGDB select HAVE_ARCH_SECCOMP_FILTER diff --git a/arch/sparc/Kconfig b/arch/sparc/Kconfig index 84437a4c6545..d4c1d96f85cd 100644 --- a/arch/sparc/Kconfig +++ b/arch/sparc/Kconfig @@ -32,6 +32,7 @@ config SPARC select GENERIC_IRQ_SHOW select ARCH_WANT_IPC_PARSE_VERSION select GENERIC_PCI_IOMAP + select HAS_IOPORT select HAVE_NMI_WATCHDOG if SPARC64 select HAVE_CBPF_JIT if SPARC32 select HAVE_EBPF_JIT if SPARC64 diff --git a/arch/um/Kconfig b/arch/um/Kconfig index 541a9b18e343..452d268be2e8 100644 --- a/arch/um/Kconfig +++ b/arch/um/Kconfig @@ -56,6 +56,7 @@ config NO_IOPORT_MAP config ISA bool + depends on HAS_IOPORT config SBUS bool diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig index a825bf031f49..634dd42532f3 100644 --- a/arch/x86/Kconfig +++ b/arch/x86/Kconfig @@ -162,6 +162,7 @@ config X86 select GUP_GET_PXX_LOW_HIGH if X86_PAE select HARDIRQS_SW_RESEND select HARDLOCKUP_CHECK_TIMESTAMP if X86_64 + select HAS_IOPORT select HAVE_ACPI_APEI if ACPI select HAVE_ACPI_APEI_NMI if ACPI select HAVE_ALIGNED_STRUCT_PAGE if SLUB @@ -2893,6 +2894,7 @@ if X86_32 config ISA bool "ISA support" + depends on HAS_IOPORT help Find out whether you have ISA slots on your motherboard. ISA is the name of a bus system, i.e. the way the CPU talks to the other stuff diff --git a/drivers/bus/Kconfig b/drivers/bus/Kconfig index 7bfe998f3514..fcfa280df98a 100644 --- a/drivers/bus/Kconfig +++ b/drivers/bus/Kconfig @@ -81,7 +81,7 @@ config MOXTET config HISILICON_LPC bool "Support for ISA I/O space on HiSilicon Hip06/7" depends on (ARM64 && ARCH_HISI) || (COMPILE_TEST && !ALPHA && !HEXAGON && !PARISC) - depends on HAS_IOMEM + depends on HAS_IOPORT select INDIRECT_PIO if ARM64 help Driver to enable I/O access to devices attached to the Low Pin diff --git a/drivers/eisa/Kconfig b/drivers/eisa/Kconfig index c8bbf90209f5..d3f62de72259 100644 --- a/drivers/eisa/Kconfig +++ b/drivers/eisa/Kconfig @@ -5,6 +5,7 @@ config HAVE_EISA bool + depends on HAS_IOPORT menuconfig EISA bool "EISA support" diff --git a/lib/Kconfig b/lib/Kconfig index ce2abffb9ed8..5c2da561c516 100644 --- a/lib/Kconfig +++ b/lib/Kconfig @@ -92,6 +92,7 @@ config ARCH_USE_SYM_ANNOTATIONS config INDIRECT_PIO bool "Access I/O in non-MMIO mode" depends on ARM64 + depends on HAS_IOPORT help On some platforms where no separate I/O space exists, there are I/O hosts which can not be accessed in MMIO mode. Using the logical PIO @@ -509,6 +510,9 @@ config HAS_IOMEM depends on !NO_IOMEM default y +config HAS_IOPORT + bool + config HAS_IOPORT_MAP bool depends on HAS_IOMEM && !NO_IOPORT_MAP diff --git a/lib/Kconfig.kgdb b/lib/Kconfig.kgdb index 3b9a44008433..c68e4d9dcecb 100644 --- a/lib/Kconfig.kgdb +++ b/lib/Kconfig.kgdb @@ -121,7 +121,8 @@ config KDB_DEFAULT_ENABLE config KDB_KEYBOARD bool "KGDB_KDB: keyboard as input device" - depends on VT && KGDB_KDB && !PARISC + depends on HAS_IOPORT + depends on VT && KGDB_KDB default n help KDB can use a PS/2 type keyboard for an input device -- 2.37.2 ^ permalink raw reply related [flat|nested] 11+ messages in thread
* Re: [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary 2023-03-14 12:11 ` [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary Niklas Schnelle @ 2023-03-14 12:37 ` Johannes Berg 2023-03-23 13:23 ` Niklas Schnelle 2023-03-14 12:48 ` Geert Uytterhoeven ` (2 subsequent siblings) 3 siblings, 1 reply; 11+ messages in thread From: Johannes Berg @ 2023-03-14 12:37 UTC (permalink / raw) To: Niklas Schnelle, Arnd Bergmann, Richard Henderson, Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas, Will Deacon, Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller, Michael Ellerman, Nicholas Piggin, Christophe Leroy, Paul Walmsley, Palmer Dabbelt, Albert Ou, Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz, David S. Miller, Richard Weinberger, Anton Ivanov, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin Cc: Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J. Wysocki, linux-kernel, linux-arch, linux-pci, Arnd Bergmann, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-sh, sparclinux, linux-um On Tue, 2023-03-14 at 13:11 +0100, Niklas Schnelle wrote: > --- a/arch/um/Kconfig > +++ b/arch/um/Kconfig > @@ -56,6 +56,7 @@ config NO_IOPORT_MAP > > config ISA > bool > + depends on HAS_IOPORT > config ISA here is already unselectable, and nothing ever does "select ISA" (only in some other architectures), so is there much point in this? I'm not even sure why this exists at all. But anyway, adding a dependency to a always-false symbol doesn't make it less always-false :-) Acked-by: Johannes Berg <johannes@sipsolutions.net> # for ARCH=um Certainly will be nice to get rid of this cruft for architectures that don't have it. johannes ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary 2023-03-14 12:37 ` Johannes Berg @ 2023-03-23 13:23 ` Niklas Schnelle 0 siblings, 0 replies; 11+ messages in thread From: Niklas Schnelle @ 2023-03-23 13:23 UTC (permalink / raw) To: Johannes Berg, Arnd Bergmann, Richard Henderson, Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas, Will Deacon, Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller, Michael Ellerman, Nicholas Piggin, Christophe Leroy, Paul Walmsley, Palmer Dabbelt, Albert Ou, Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz, David S. Miller, Richard Weinberger, Anton Ivanov, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin Cc: Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J. Wysocki, linux-kernel, linux-arch, linux-pci, Arnd Bergmann, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-sh, sparclinux, linux-um On Tue, 2023-03-14 at 13:37 +0100, Johannes Berg wrote: > On Tue, 2023-03-14 at 13:11 +0100, Niklas Schnelle wrote: > > --- a/arch/um/Kconfig > > +++ b/arch/um/Kconfig > > @@ -56,6 +56,7 @@ config NO_IOPORT_MAP > > > > config ISA > > bool > > + depends on HAS_IOPORT > > > > config ISA here is already unselectable, and nothing ever does "select > ISA" (only in some other architectures), so is there much point in this? > > I'm not even sure why this exists at all. You're right there's not much point and I dropped this for v4. I agree that probably the whole "config ISA" could be removed if it's always false anyway but that seems out of scope for this patch. > > But anyway, adding a dependency to a always-false symbol doesn't make it > less always-false :-) > > Acked-by: Johannes Berg <johannes@sipsolutions.net> # for ARCH=um Thanks > > > Certainly will be nice to get rid of this cruft for architectures that > don't have it. > > johannes Yes, also, for s390 the broken NULL + port number access in the generic inb()/outb() currently causes the only remaining clang warning on defconfig builds. ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary 2023-03-14 12:11 ` [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary Niklas Schnelle 2023-03-14 12:37 ` Johannes Berg @ 2023-03-14 12:48 ` Geert Uytterhoeven 2023-03-14 13:29 ` Arnd Bergmann 2023-03-14 16:37 ` Niklas Schnelle 3 siblings, 0 replies; 11+ messages in thread From: Geert Uytterhoeven @ 2023-03-14 12:48 UTC (permalink / raw) To: Niklas Schnelle Cc: Arnd Bergmann, Richard Henderson, Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas, Will Deacon, Michal Simek, Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller, Michael Ellerman, Nicholas Piggin, Christophe Leroy, Paul Walmsley, Palmer Dabbelt, Albert Ou, Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz, David S. Miller, Richard Weinberger, Anton Ivanov, Johannes Berg, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin, Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J. Wysocki, linux-kernel, linux-arch, linux-pci, Arnd Bergmann, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-sh, sparclinux, linux-um On Tue, Mar 14, 2023 at 1:13 PM Niklas Schnelle <schnelle@linux.ibm.com> wrote: > We introduce a new HAS_IOPORT Kconfig option to indicate support for I/O > Port access. In a future patch HAS_IOPORT=n will disable compilation of > the I/O accessor functions inb()/outb() and friends on architectures > which can not meaningfully support legacy I/O spaces such as s390. Also > add dependencies on HAS_IOPORT for the ISA and HAVE_EISA config options > as these busses always go along with HAS_IOPORT. > > The "depends on" relations on HAS_IOPORT in drivers as well as ifdefs > for HAS_IOPORT specific sections will be added in subsequent patches on > a per subsystem basis. > > Co-developed-by: Arnd Bergmann <arnd@kernel.org> > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> > arch/m68k/Kconfig | 1 + Acked-by: Geert Uytterhoeven <geert@linux-m68k.org> Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary 2023-03-14 12:11 ` [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary Niklas Schnelle 2023-03-14 12:37 ` Johannes Berg 2023-03-14 12:48 ` Geert Uytterhoeven @ 2023-03-14 13:29 ` Arnd Bergmann 2023-03-14 16:11 ` Niklas Schnelle 2023-03-14 16:37 ` Niklas Schnelle 3 siblings, 1 reply; 11+ messages in thread From: Arnd Bergmann @ 2023-03-14 13:29 UTC (permalink / raw) To: Niklas Schnelle, Richard Henderson, Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas, Will Deacon, Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer, James E . J . Bottomley, Helge Deller, Michael Ellerman, Nicholas Piggin, Christophe Leroy, Paul Walmsley, Palmer Dabbelt, Albert Ou, Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz, David S . Miller, Richard Weinberger, Anton Ivanov, Johannes Berg, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin Cc: Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J . Wysocki, linux-kernel, Linux-Arch, linux-pci, Arnd Bergmann, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-sh, sparclinux, linux-um On Tue, Mar 14, 2023, at 13:11, Niklas Schnelle wrote: > We introduce a new HAS_IOPORT Kconfig option to indicate support for I/O > Port access. In a future patch HAS_IOPORT=n will disable compilation of > the I/O accessor functions inb()/outb() and friends on architectures > which can not meaningfully support legacy I/O spaces such as s390. Also > add dependencies on HAS_IOPORT for the ISA and HAVE_EISA config options > as these busses always go along with HAS_IOPORT. > > The "depends on" relations on HAS_IOPORT in drivers as well as ifdefs > for HAS_IOPORT specific sections will be added in subsequent patches on > a per subsystem basis. I think it would be helpful to enumerate which architectures do not get HAS_IOPORT added, as they will be affected more. > Co-developed-by: Arnd Bergmann <arnd@kernel.org> > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> If there are no objections, I could send this first patch for the asm-generic tree as a preparation for 6.3, so we are able to merge the other patches through subsystem maintainer tree for 6.4. arch/loongarch/ will now also need to select HAS_IOPORT uncontitionally, this architecture was added after you sent v2. > diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig > index a98940e64243..5eeacc72e4da 100644 > --- a/arch/parisc/Kconfig > +++ b/arch/parisc/Kconfig > @@ -47,6 +47,7 @@ config PARISC > select MODULES_USE_ELF_RELA > select CLONE_BACKWARDS > select TTY # Needed for pdc_cons.c > + select HAS_IOPORT if PCI It's also needed for EISA and I think you should select it from CONFIG_GSC in drivers/parisc/Kconfig for this purpose. This could also be 'select HAS_IOPORT if PCI || EISA', but that would require removing the 'depends on HAS_IOPORT' under drivers/eisa/. > select HAVE_DEBUG_STACKOVERFLOW > select HAVE_ARCH_AUDITSYSCALL > select HAVE_ARCH_HASH > @@ -131,6 +132,7 @@ config STACKTRACE_SUPPORT > > config ISA_DMA_API > bool > + depends on HAS_IOPORT > This line is not really needed since there is no way to enable ISA_DMA_API. > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > index a6c4407d3ec8..f7de646c074a 100644 > --- a/arch/powerpc/Kconfig > +++ b/arch/powerpc/Kconfig > @@ -188,6 +188,7 @@ config PPC > select GENERIC_SMP_IDLE_THREAD > select GENERIC_TIME_VSYSCALL > select GENERIC_VDSO_TIME_NS > + select HAS_IOPORT if PCI > select HAVE_ARCH_AUDITSYSCALL > select HAVE_ARCH_HUGE_VMALLOC if HAVE_ARCH_HUGE_VMAP > select HAVE_ARCH_HUGE_VMAP if PPC_RADIX_MMU || PPC_8xx > @@ -1070,7 +1071,6 @@ menu "Bus options" > > config ISA > bool "Support for ISA-bus hardware" > - depends on PPC_CHRP > select PPC_I8259 > help > Find out whether you have ISA slots on your motherboard. ISA is the This line looks wrong, I think we should keep that dependency. Did you get a circular dependency if you leave it in? > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > index a825bf031f49..634dd42532f3 100644 > --- a/arch/x86/Kconfig > +++ b/arch/x86/Kconfig > @@ -162,6 +162,7 @@ config X86 > select GUP_GET_PXX_LOW_HIGH if X86_PAE > select HARDIRQS_SW_RESEND > select HARDLOCKUP_CHECK_TIMESTAMP if X86_64 > + select HAS_IOPORT > select HAVE_ACPI_APEI if ACPI > select HAVE_ACPI_APEI_NMI if ACPI > select HAVE_ALIGNED_STRUCT_PAGE if SLUB > @@ -2893,6 +2894,7 @@ if X86_32 > > config ISA > bool "ISA support" > + depends on HAS_IOPORT > help HAS_IOPORT is selected unconditionally already, so this doesn't really do anything. > diff --git a/lib/Kconfig.kgdb b/lib/Kconfig.kgdb > index 3b9a44008433..c68e4d9dcecb 100644 > --- a/lib/Kconfig.kgdb > +++ b/lib/Kconfig.kgdb > @@ -121,7 +121,8 @@ config KDB_DEFAULT_ENABLE > > config KDB_KEYBOARD > bool "KGDB_KDB: keyboard as input device" > - depends on VT && KGDB_KDB && !PARISC > + depends on HAS_IOPORT > + depends on VT && KGDB_KDB > default n This loses the !PARISC dependency, which I don't think is intentional. The added HAS_IOPORT dependency makes sense here, but I think this should be in a different patch and not in the preparation. Arnd ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary 2023-03-14 13:29 ` Arnd Bergmann @ 2023-03-14 16:11 ` Niklas Schnelle 0 siblings, 0 replies; 11+ messages in thread From: Niklas Schnelle @ 2023-03-14 16:11 UTC (permalink / raw) To: Arnd Bergmann, Richard Henderson, Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas, Will Deacon, Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer, James E . J . Bottomley, Helge Deller, Michael Ellerman, Nicholas Piggin, Christophe Leroy, Paul Walmsley, Palmer Dabbelt, Albert Ou, Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz, David S . Miller, Richard Weinberger, Anton Ivanov, Johannes Berg, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin Cc: Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J . Wysocki, linux-kernel, Linux-Arch, linux-pci, Arnd Bergmann, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-sh, sparclinux, linux-um On Tue, 2023-03-14 at 14:29 +0100, Arnd Bergmann wrote: > On Tue, Mar 14, 2023, at 13:11, Niklas Schnelle wrote: > > We introduce a new HAS_IOPORT Kconfig option to indicate support for I/O > > Port access. In a future patch HAS_IOPORT=n will disable compilation of > > the I/O accessor functions inb()/outb() and friends on architectures > > which can not meaningfully support legacy I/O spaces such as s390. Also > > add dependencies on HAS_IOPORT for the ISA and HAVE_EISA config options > > as these busses always go along with HAS_IOPORT. > > > > The "depends on" relations on HAS_IOPORT in drivers as well as ifdefs > > for HAS_IOPORT specific sections will be added in subsequent patches on > > a per subsystem basis. > > I think it would be helpful to enumerate which architectures > do not get HAS_IOPORT added, as they will be affected more. > > > Co-developed-by: Arnd Bergmann <arnd@kernel.org> > > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> > > If there are no objections, I could send this first patch for the > asm-generic tree as a preparation for 6.3, so we are able to merge > the other patches through subsystem maintainer tree for 6.4. > > arch/loongarch/ will now also need to select HAS_IOPORT > uncontitionally, this architecture was added after you > sent v2. Ah right. Added "select HAS_IOPORT" for LoongArch. > > > diff --git a/arch/parisc/Kconfig b/arch/parisc/Kconfig > > index a98940e64243..5eeacc72e4da 100644 > > --- a/arch/parisc/Kconfig > > +++ b/arch/parisc/Kconfig > > @@ -47,6 +47,7 @@ config PARISC > > select MODULES_USE_ELF_RELA > > select CLONE_BACKWARDS > > select TTY # Needed for pdc_cons.c > > + select HAS_IOPORT if PCI > > It's also needed for EISA and I think you should select it > from CONFIG_GSC in drivers/parisc/Kconfig for this purpose. > > This could also be 'select HAS_IOPORT if PCI || EISA', but > that would require removing the 'depends on HAS_IOPORT' > under drivers/eisa/. I did use "select HAS_IOPORT if PCI || ISA || ATARI_ROM_ISA" in m68k so I think ideally we would handle both in the same way. I don't have a strong preference but I think the "select HAS_IOPORT if ..." puts it all in a single place which is nice. Also I think this would make it more similar architectures with unconditional HAS_IOPORT that thus don't need "depends on HAS_IOPORT" in their "config ISA" either. As also pointed by your comment below for x86. So will try to go this route. > > > select HAVE_DEBUG_STACKOVERFLOW > > select HAVE_ARCH_AUDITSYSCALL > > select HAVE_ARCH_HASH > > @@ -131,6 +132,7 @@ config STACKTRACE_SUPPORT > > > > config ISA_DMA_API > > bool > > + depends on HAS_IOPORT > > > > This line is not really needed since there is no way to > enable ISA_DMA_API. Removed > > > diff --git a/arch/powerpc/Kconfig b/arch/powerpc/Kconfig > > index a6c4407d3ec8..f7de646c074a 100644 > > --- a/arch/powerpc/Kconfig > > +++ b/arch/powerpc/Kconfig > > @@ -188,6 +188,7 @@ config PPC > > select GENERIC_SMP_IDLE_THREAD > > select GENERIC_TIME_VSYSCALL > > select GENERIC_VDSO_TIME_NS > > + select HAS_IOPORT if PCI > > select HAVE_ARCH_AUDITSYSCALL > > select HAVE_ARCH_HUGE_VMALLOC if HAVE_ARCH_HUGE_VMAP > > select HAVE_ARCH_HUGE_VMAP if PPC_RADIX_MMU || PPC_8xx > > @@ -1070,7 +1071,6 @@ menu "Bus options" > > > > config ISA > > bool "Support for ISA-bus hardware" > > - depends on PPC_CHRP > > select PPC_I8259 > > help > > Find out whether you have ISA slots on your motherboard. ISA is the > > This line looks wrong, I think we should keep that dependency. > Did you get a circular dependency if you leave it in? I don't recall why this was removed. I guess it happened when I was experimenting with adding "depends on HAS_IOPORT" for the ISA config options but that ultimately lead to circular dependencies, must have messed up when removing this here. > > > diff --git a/arch/x86/Kconfig b/arch/x86/Kconfig > > index a825bf031f49..634dd42532f3 100644 > > --- a/arch/x86/Kconfig > > +++ b/arch/x86/Kconfig > > @@ -162,6 +162,7 @@ config X86 > > select GUP_GET_PXX_LOW_HIGH if X86_PAE > > select HARDIRQS_SW_RESEND > > select HARDLOCKUP_CHECK_TIMESTAMP if X86_64 > > + select HAS_IOPORT > > select HAVE_ACPI_APEI if ACPI > > select HAVE_ACPI_APEI_NMI if ACPI > > select HAVE_ALIGNED_STRUCT_PAGE if SLUB > > @@ -2893,6 +2894,7 @@ if X86_32 > > > > config ISA > > bool "ISA support" > > + depends on HAS_IOPORT > > help > > HAS_IOPORT is selected unconditionally already, so this doesn't > really do anything. Removed. > > > diff --git a/lib/Kconfig.kgdb b/lib/Kconfig.kgdb > > index 3b9a44008433..c68e4d9dcecb 100644 > > --- a/lib/Kconfig.kgdb > > +++ b/lib/Kconfig.kgdb > > @@ -121,7 +121,8 @@ config KDB_DEFAULT_ENABLE > > > > config KDB_KEYBOARD > > bool "KGDB_KDB: keyboard as input device" > > - depends on VT && KGDB_KDB && !PARISC > > + depends on HAS_IOPORT > > + depends on VT && KGDB_KDB > > default n > > This loses the !PARISC dependency, which I don't think is > intentional. The added HAS_IOPORT dependency makes sense > here, but I think this should be in a different patch > and not in the preparation. > > Arnd Agree will put into its own patch and re-add the !PARISC ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary 2023-03-14 12:11 ` [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary Niklas Schnelle ` (2 preceding siblings ...) 2023-03-14 13:29 ` Arnd Bergmann @ 2023-03-14 16:37 ` Niklas Schnelle 3 siblings, 0 replies; 11+ messages in thread From: Niklas Schnelle @ 2023-03-14 16:37 UTC (permalink / raw) To: Arnd Bergmann, Richard Henderson, Ivan Kokshaysky, Matt Turner, Russell King, Catalin Marinas, Will Deacon, Geert Uytterhoeven, Michal Simek, Thomas Bogendoerfer, James E.J. Bottomley, Helge Deller, Michael Ellerman, Nicholas Piggin, Christophe Leroy, Paul Walmsley, Palmer Dabbelt, Albert Ou, Yoshinori Sato, Rich Felker, John Paul Adrian Glaubitz, David S. Miller, Richard Weinberger, Anton Ivanov, Johannes Berg, Thomas Gleixner, Ingo Molnar, Borislav Petkov, Dave Hansen, x86, H. Peter Anvin Cc: Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J. Wysocki, linux-kernel, linux-arch, linux-pci, Arnd Bergmann, linux-alpha, linux-arm-kernel, linux-ia64, linux-m68k, linux-mips, linux-parisc, linuxppc-dev, linux-riscv, linux-sh, sparclinux, linux-um On Tue, 2023-03-14 at 13:11 +0100, Niklas Schnelle wrote: > We introduce a new HAS_IOPORT Kconfig option to indicate support for I/O > Port access. In a future patch HAS_IOPORT=n will disable compilation of > the I/O accessor functions inb()/outb() and friends on architectures > which can not meaningfully support legacy I/O spaces such as s390. Also > add dependencies on HAS_IOPORT for the ISA and HAVE_EISA config options > as these busses always go along with HAS_IOPORT. > > The "depends on" relations on HAS_IOPORT in drivers as well as ifdefs > for HAS_IOPORT specific sections will be added in subsequent patches on > a per subsystem basis. > > Co-developed-by: Arnd Bergmann <arnd@kernel.org> > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> > --- > @Arnd, I swear I asked you and then added Signed-off-bys for all these Co-developed-bys as suggested by checkpatch. Sadly that must have been during my failed attempt of converting to b4 prep / b4 send before sending this last Friday and then it got lost. It almost worked and is a very nice work flow except that b4 currently can only use a single list of To/Cc fields and for this treewide series that would probably hit mail server limits. Added it now. Thanks, Niklas ^ permalink raw reply [flat|nested] 11+ messages in thread
[parent not found: <20230314121216.413434-29-schnelle@linux.ibm.com>]
[parent not found: <202303141252027ef5511a@mail.local>]
[parent not found: <aa68b4afdca34bf3bfd2439b03e6f9bcfad94903.camel@linux.ibm.com>]
[parent not found: <b7017996-b079-4534-a24a-080003772a66@app.fastmail.com>]
* Re: [PATCH v3 28/38] rtc: add HAS_IOPORT dependencies [not found] ` <b7017996-b079-4534-a24a-080003772a66@app.fastmail.com> @ 2023-05-09 6:38 ` Geert Uytterhoeven 2023-05-09 8:22 ` Arnd Bergmann 0 siblings, 1 reply; 11+ messages in thread From: Geert Uytterhoeven @ 2023-05-09 6:38 UTC (permalink / raw) To: Arnd Bergmann Cc: Niklas Schnelle, Alexandre Belloni, Alessandro Zummo, Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J . Wysocki, Paul Walmsley, Palmer Dabbelt, Albert Ou, linux-kernel, Linux-Arch, linux-pci, Arnd Bergmann, linux-rtc, linux-m68k Hi Arnd, On Mon, May 8, 2023 at 10:01 PM Arnd Bergmann <arnd@arndb.de> wrote: > On Mon, May 8, 2023, at 17:36, Niklas Schnelle wrote: > > On Tue, 2023-03-14 at 13:52 +0100, Alexandre Belloni wrote: > >> On 14/03/2023 13:12:06+0100, Niklas Schnelle wrote: > >> > In a future patch HAS_IOPORT=n will result in inb()/outb() and friends > >> > not being declared. We thus need to add HAS_IOPORT as dependency for > >> > those drivers using them. > >> > > >> > Co-developed-by: Arnd Bergmann <arnd@kernel.org> > >> > Signed-off-by: Niklas Schnelle <schnelle@linux.ibm.com> > >> > --- > >> > drivers/rtc/Kconfig | 4 +++- > >> > 1 file changed, 3 insertions(+), 1 deletion(-) > >> > > >> > diff --git a/drivers/rtc/Kconfig b/drivers/rtc/Kconfig > >> > index 5a71579af0a1..20aa77bf0a9f 100644 > >> > --- a/drivers/rtc/Kconfig > >> > +++ b/drivers/rtc/Kconfig > >> > @@ -956,6 +956,7 @@ comment "Platform RTC drivers" > >> > config RTC_DRV_CMOS > >> > tristate "PC-style 'CMOS'" > >> > depends on X86 || ARM || PPC || MIPS || SPARC64 > >> > + depends on HAS_IOPORT > >> > >> Did you check that this will not break platforms that doesn't have RTC_PORT defined? > >> > > > > > From what I can tell the CMOS_READ() macro this driver relies on uses > > some form of inb() style I/O port access in all its definitions. So my > > understanding is that this device is always accessed via I/O ports even > > if the variants differ slightly and would make no sense on a platform > > without any way of accessing I/O ports which is what lack of HAS_IOPORT > > means. From what I can see even without RTC_PORT being defined the > > CMOS_READ is still used. Hope that answers your question? > > I think the m68k/atari and mips/dec variants don't necessarily > qualify as PIO, those are really just pointer dereferences, and > they don't use the actual inb/outb functions. > > On atari, it looks like HAS_IOPORT may be set if ATARI_ROM_ISA > is, but on dec it's never enabled. Atari does not use RTC_DRV_CMOS, but still relies on generic RTC instead. Last time (in 2013?) I tried converting to RTC_DRV_CMOS by registering an "rtc_cmos" platform device, I couldn't get it to work. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 28/38] rtc: add HAS_IOPORT dependencies 2023-05-09 6:38 ` [PATCH v3 28/38] rtc: add HAS_IOPORT dependencies Geert Uytterhoeven @ 2023-05-09 8:22 ` Arnd Bergmann 2023-05-09 8:51 ` Geert Uytterhoeven 0 siblings, 1 reply; 11+ messages in thread From: Arnd Bergmann @ 2023-05-09 8:22 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Niklas Schnelle, Alexandre Belloni, Alessandro Zummo, Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J . Wysocki, Paul Walmsley, Palmer Dabbelt, Albert Ou, linux-kernel, Linux-Arch, linux-pci, Arnd Bergmann, linux-rtc, linux-m68k On Tue, May 9, 2023, at 08:38, Geert Uytterhoeven wrote: > On Mon, May 8, 2023 at 10:01 PM Arnd Bergmann <arnd@arndb.de> wrote: >> On Mon, May 8, 2023, at 17:36, Niklas Schnelle wrote: >> >> I think the m68k/atari and mips/dec variants don't necessarily >> qualify as PIO, those are really just pointer dereferences, and >> they don't use the actual inb/outb functions. >> >> On atari, it looks like HAS_IOPORT may be set if ATARI_ROM_ISA >> is, but on dec it's never enabled. > > Atari does not use RTC_DRV_CMOS, but still relies on generic RTC > instead. Ah right, I now remember working on that code, so we're good on m68k then. I think it should work for everyone using depends on HAS_IOPORT || ARCH_DECSTATION in that case, as that is the only exception. > Last time (in 2013?) I tried converting to RTC_DRV_CMOS by registering > an "rtc_cmos" platform device, I couldn't get it to work. If you ever want to revisit this, I suspect the harder part here is to detach arch/m68k/ from the RTC_DRV_GENERIC code first, pushing the device registration into the individual machine specific time.c code. It's probably not even worth trying to share the rtc-cmos driver, but it might be useful to share the library code like RTC_DRV_ALPHA does. Arnd ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 28/38] rtc: add HAS_IOPORT dependencies 2023-05-09 8:22 ` Arnd Bergmann @ 2023-05-09 8:51 ` Geert Uytterhoeven 2023-05-09 9:46 ` Arnd Bergmann 0 siblings, 1 reply; 11+ messages in thread From: Geert Uytterhoeven @ 2023-05-09 8:51 UTC (permalink / raw) To: Arnd Bergmann Cc: Niklas Schnelle, Alexandre Belloni, Alessandro Zummo, Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J . Wysocki, Paul Walmsley, Palmer Dabbelt, Albert Ou, linux-kernel, Linux-Arch, linux-pci, Arnd Bergmann, linux-rtc, linux-m68k Hi Arnd, On Tue, May 9, 2023 at 10:23 AM Arnd Bergmann <arnd@arndb.de> wrote: > On Tue, May 9, 2023, at 08:38, Geert Uytterhoeven wrote: > > On Mon, May 8, 2023 at 10:01 PM Arnd Bergmann <arnd@arndb.de> wrote: > >> On Mon, May 8, 2023, at 17:36, Niklas Schnelle wrote: > >> > >> I think the m68k/atari and mips/dec variants don't necessarily > >> qualify as PIO, those are really just pointer dereferences, and > >> they don't use the actual inb/outb functions. > >> > >> On atari, it looks like HAS_IOPORT may be set if ATARI_ROM_ISA > >> is, but on dec it's never enabled. > > > > Atari does not use RTC_DRV_CMOS, but still relies on generic RTC > > instead. > > Ah right, I now remember working on that code, so we're good on > m68k then. I think it should work for everyone using > > depends on HAS_IOPORT || ARCH_DECSTATION > > in that case, as that is the only exception. > > > Last time (in 2013?) I tried converting to RTC_DRV_CMOS by registering > > an "rtc_cmos" platform device, I couldn't get it to work. > > If you ever want to revisit this, I suspect the harder part here > is to detach arch/m68k/ from the RTC_DRV_GENERIC code first, pushing > the device registration into the individual machine specific time.c > code. It's probably not even worth trying to share the rtc-cmos > driver, but it might be useful to share the library code like > RTC_DRV_ALPHA does. Arch/m68k is not that entangled with RTC_DRV_GENERIC, as amiga_defconfig does not enable it, but enables CONFIG_RTC_DRV_MSM6242 and CONFIG_RTC_DRV_RP5C01 instead. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH v3 28/38] rtc: add HAS_IOPORT dependencies 2023-05-09 8:51 ` Geert Uytterhoeven @ 2023-05-09 9:46 ` Arnd Bergmann 0 siblings, 0 replies; 11+ messages in thread From: Arnd Bergmann @ 2023-05-09 9:46 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Niklas Schnelle, Alexandre Belloni, Alessandro Zummo, Greg Kroah-Hartman, Bjorn Helgaas, Uwe Kleine-König, Mauro Carvalho Chehab, Alan Stern, Rafael J . Wysocki, Paul Walmsley, Palmer Dabbelt, Albert Ou, linux-kernel, Linux-Arch, linux-pci, Arnd Bergmann, linux-rtc, linux-m68k On Tue, May 9, 2023, at 10:51, Geert Uytterhoeven wrote: > On Tue, May 9, 2023 at 10:23 AM Arnd Bergmann <arnd@arndb.de> wrote: >> On Tue, May 9, 2023, at 08:38, Geert Uytterhoeven wrote: >> If you ever want to revisit this, I suspect the harder part here >> is to detach arch/m68k/ from the RTC_DRV_GENERIC code first, pushing >> the device registration into the individual machine specific time.c >> code. It's probably not even worth trying to share the rtc-cmos >> driver, but it might be useful to share the library code like >> RTC_DRV_ALPHA does. > > Arch/m68k is not that entangled with RTC_DRV_GENERIC, as amiga_defconfig > does not enable it, but enables CONFIG_RTC_DRV_MSM6242 and > CONFIG_RTC_DRV_RP5C01 instead. Ah, I see now, I misremembered this part. The only bit that is shared on m68k is the mach_hwclk() function that is used for either read_persistent_clock64() or rtc_generic on platforms that have one. So any platform could indeed be converted from mach_hwclk() to a custom rtc driver without affecting the others. Arnd ^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2023-05-09 9:46 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20230314121216.413434-1-schnelle@linux.ibm.com>
2023-03-14 12:11 ` [PATCH v3 01/38] Kconfig: introduce HAS_IOPORT option and select it as necessary Niklas Schnelle
2023-03-14 12:37 ` Johannes Berg
2023-03-23 13:23 ` Niklas Schnelle
2023-03-14 12:48 ` Geert Uytterhoeven
2023-03-14 13:29 ` Arnd Bergmann
2023-03-14 16:11 ` Niklas Schnelle
2023-03-14 16:37 ` Niklas Schnelle
[not found] ` <20230314121216.413434-29-schnelle@linux.ibm.com>
[not found] ` <202303141252027ef5511a@mail.local>
[not found] ` <aa68b4afdca34bf3bfd2439b03e6f9bcfad94903.camel@linux.ibm.com>
[not found] ` <b7017996-b079-4534-a24a-080003772a66@app.fastmail.com>
2023-05-09 6:38 ` [PATCH v3 28/38] rtc: add HAS_IOPORT dependencies Geert Uytterhoeven
2023-05-09 8:22 ` Arnd Bergmann
2023-05-09 8:51 ` Geert Uytterhoeven
2023-05-09 9:46 ` Arnd Bergmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox