Messages in this thread | ![/](/images/icornerl.gif) | | Date | Mon, 08 May 2023 22:01:08 +0200 | From | "Arnd Bergmann" <> | Subject | Re: [PATCH v3 28/38] rtc: add HAS_IOPORT dependencies |
| |
On Mon, May 8, 2023, at 17:36, Niklas Schnelle wrote: > On Tue, 2023-03-14 at 13:52 +0100, Alexandre Belloni wrote: >> Hello, >> >> 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.
Arnd
| ![\](/images/icornerr.gif) |