Hi Chris, On Thu, Sep 13, 2018 at 4:54 PM Chris Brandt <Chris.Brandt@xxxxxxxxxxx> wrote: > On Thursday, September 13, 2018, Geert Uytterhoeven wrote: > > > > I wonder they just didn't make a clock_initcall() and timer_initcall() > > > > instead. > > > > > > What happens if you place the clk_init() before board_time_init() ? in > > > arch/sh/kernel/time.c > > > > Nothing, as Chris is using an ARM platform ;-) > > > > The clock driver is drivers/clk/renesas/renesas-cpg-mssr.c, which is a > > platform_driver registered from subsys_initcall(). > > Just FYI, for the heck of it, I tried and hacked in registering the > clock driver using CLK_OF_DECLARE since that happens before the > TIMER_OF_DECLARE timers are probed. > > But, I got this result: > > [ 0.000000] Driver 'renesas-cpg-mssr' was unable to register with bus_type 'platform' because the bus was not initialized. Indeed, you cannot register a platform device from CLK_OF_DECLARE(). Instead, you have to operate on the passed struct device_node pointer, cfr. the old RZ/A1 clock driver. Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx 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