[RFC][PATCH 1/2] ARM: OMAP4: clock: Add device tree support for AUXCLKs
Rajendra Nayak
rnayak at ti.com
Thu Mar 21 09:08:32 EDT 2013
[]..
> diff --git a/arch/arm/mach-omap2/board-generic.c b/arch/arm/mach-omap2/board-generic.c
> index 0274ff7..23f2064 100644
> --- a/arch/arm/mach-omap2/board-generic.c
> +++ b/arch/arm/mach-omap2/board-generic.c
> @@ -158,7 +158,7 @@ DT_MACHINE_START(OMAP4_DT, "Generic OMAP4 (Flattened Device Tree)")
> .init_irq = omap_gic_of_init,
> .init_machine = omap_generic_init,
> .init_late = omap4430_init_late,
> - .init_time = omap4_local_timer_init,
> + .init_time = omap4_init_time,
> .dt_compat = omap4_boards_compat,
> .restart = omap44xx_restart,
> MACHINE_END
[]..
> +#ifdef CONFIG_OF
> +int __init omap4_clk_init_dt(void)
> +{
> + struct device_node *np;
> +
> + np = of_find_compatible_node(NULL, NULL, "ti,omap4-scrm");
> + if (np) {
> + scrm_data.clks = scrm_clks;
> + scrm_data.clk_num = ARRAY_SIZE(scrm_clks);
> + of_clk_add_provider(np, of_clk_src_onecell_get, &scrm_data);
> + }
> +
> + return 0;
> +}
[]..
> +
> +void __init omap4_init_time(void)
> +{
> + omap4_clk_init_dt();
> + omap4_local_timer_init();
> +}
I guess you did all this because of_clk_add_provider() needs
slab to be initialized. With the below patch[1], now clk inits
happen within .init_timer already, so none of this would
be needed.
[1] http://www.spinics.net/lists/arm-kernel/msg231288.html
More information about the linux-arm-kernel
mailing list