Quoting zhuyinbo (2023-02-21 21:10:14) > > > > >>> yes, the use of dts doesn't require the use of CLK_OF_DECLARE and can > >>> use platform_driver_register > >>> > >>> but my drvier not use platform_driver_register to register clk and use > >>> CLK_OF_DECLARE to match of_clk_init. > >> of_clk_init() is there to register clks that are needed for early init, > >> i.e. the clockevent/clocksource or the root interrupt controller > >> (irqchip). Otherwise, it isn't necessary to register clks via > >> of_clk_init(). > > okay, I got it. > > and, the time driver get clock by CCF that ask loongson2 clock driver > use CLK_OF_DECLARE > > to match of_clk_init. because the timer_probe is very early and the > timer driver was use TIMER_OF_DECLARE > > to match time_probe. > If you have a time driver that gets clks, register those early with CLK_OF_DECLARE_DRIVER() and then have a platform driver for the rest of the clk tree that registers clks later.