On Fri, May 29, 2020 at 11:14 PM Tony Lindgren <tony@xxxxxxxxxxx> wrote: > * Arnd Bergmann <arnd@xxxxxxxx> [200529 21:09]: > > > > #ifdef CONFIG_SOC_HAS_REALTIME_COUNTER > > extern void omap5_realtime_timer_init(void); > > #else > > static inline void omap5_realtime_timer_init(void) > > { > > } > > #endif > > > > In fact, the inline stub is what that caused the regression, > > so I think it's ok with my patch. > > To me it seems not having SOC_HAS_REALTIME_COUNTER will > cause omap5_realtime_timer_init() not get called? Correct, this looked to me like it was the intention of that symbol. Unfortunately there is no help text but it is user selectable: config SOC_HAS_REALTIME_COUNTER bool "Real time free running counter" depends on SOC_OMAP5 || SOC_DRA7XX default y > That initializes clocks and calls timer_probe(). So this > will result in non-booting system AFAIK, the header > file stub should no rely CONFIG_SOC_HAS_REALTIME_COUNTER > also, but rather ! CONFIG_SOC_OMAP5 || CONFIG_SOC_DRA7XX. > > Also the Makefile change at least seems wrong, that > can't rely on CONFIG_SOC_HAS_REALTIME_COUNTER. How about just removing the prompt on CONFIG_SOC_HAS_REALTIME_COUNTER but keeping the rest of my patch? That way it's just always enabled when there is a chip that needs it enabled in the kernel config. The only other usage of the symbol is #ifdef CONFIG_SOC_HAS_REALTIME_COUNTER void set_cntfreq(void); #else static inline void set_cntfreq(void) { } #endif Alternatively, we could just remove the Kconfig symbol altogether and rely on (SOC_OMAP5 || SOC_DRA7XX) everywhere, but that seems a little more fragile in case there is going to be another chip that needs it. Arnd