Messages in this thread | | | Subject | Re: [PATCH v10 2/4] clk: clk-loongson2: add clock controller driver support | From | zhuyinbo <> | Date | Wed, 22 Feb 2023 13:10:14 +0800 |
| |
在 2023/2/22 上午10:02, zhuyinbo 写道: > > 在 2023/2/22 上午7:07, Stephen Boyd 写道: >> Quoting zhuyinbo (2023-02-19 21:44:51) >>> 在 2023/2/18 上午6:15, Stephen Boyd 写道: >>>> Quoting zhuyinbo (2023-02-14 23:35:22) >>>>> 在 2023/2/11 上午7:42, Stephen Boyd 写道: >>>>>>> + >>>>>>> +err: >>>>>>> + iounmap(loongson2_pll_base); >>>>>>> +} >>>>>>> + >>>>>>> +CLK_OF_DECLARE(loongson2_clk, "loongson,ls2k-clk", >>>>>>> loongson2_clocks_init); >>>>>> Any reason this can't be a platform driver? >>> Your question is that why I don't use the platform_driver_register to >>> register clk and use CLK_OF_DECLARE ? >> Yes. >> >>> I was consider other clock controllers of Loongson-2 series may be >>> different with 2k1000 and I can add a line >>> >>> CLK_OF_DECLARE() for compatible other platform in the future. eg. >>> >>> CLK_OF_DECLARE(loongson2_clk, "loongson,ls2k-clk", >>> loongson2_clocks_init); >>> >>> + CLK_OF_DECLARE(xxx1, xxx2, xxx3); // for other clock >>> controllers of >>> Loongson-2 series >>> >>>>> For the compatible consideration of other clock controllers of >>>>> Loongson-2 series in the future, the way of using dts can be >>>>> >>>>> better compatible. >>>>> >>>> Sorry that sentence doesn't make sense to me. The use of dts doesn't >>>> require the use of CLK_OF_DECLARE. >>> 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.
| |