Hi, On 03/06/2016 at 07:44:55 -0700, Guenter Roeck wrote : > On 06/03/2016 05:11 AM, Arnd Bergmann wrote: > > I have trouble reproducing this, but I think the problem here is that there > > are two definitions of CMOS_READ() in sparc, and we pick up the wrong one > > here: there is no 'rtc_port' variable outside of drivers/char/rtc.c, and we > > don't build that file any more on sparc32, so we probably want this patch: > > > > diff --git a/arch/sparc/include/asm/io_32.h b/arch/sparc/include/asm/io_32.h > > index 57f26c398dc9..4dd268a3a8b0 100644 > > --- a/arch/sparc/include/asm/io_32.h > > +++ b/arch/sparc/include/asm/io_32.h > > @@ -140,16 +140,6 @@ void ioport_unmap(void __iomem *); > > struct pci_dev; > > void pci_iounmap(struct pci_dev *dev, void __iomem *); > > > > - > > - > > -/* > > - * At the moment, we do not use CMOS_READ anywhere outside of rtc.c, > > - * so rtc_port is static in it. This should not change unless a new > > - * hardware pops up. > > - */ > > -#define RTC_PORT(x) (rtc_port + (x)) > > -#define RTC_ALWAYS_BCD 0 > > - > > static inline int sbus_can_dma_64bit(void) > > { > > return 0; /* actually, sparc_cpu_model==sun4d */ > > > > > > > > Can you check if this fixes the problem? > > > > Yes, it does. I did test builds with both sparc:allmodconfig and > sparc64:allmodconfig > after applying above diff; both passed. >
Arnd, do you mind sending a proper patch that I'll apply before 'rtc: cmos: move mc146818rtc code out of asm-generic/rtc.h'? Else, I could squash it in but I think the former is cleaner. Thanks! -- Alexandre Belloni, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com