|
@@ -255,6 +255,8 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
|
|
|
|
|
|
timer->io_base = of_iomap(np, 0);
|
|
|
|
|
|
+ timer->fclk = of_clk_get_by_name(np, "fck");
|
|
|
+
|
|
|
of_node_put(np);
|
|
|
} else {
|
|
|
if (omap_dm_timer_reserve_systimer(timer->id))
|
|
@@ -292,7 +294,8 @@ static int __init omap_dm_timer_init_one(struct omap_dm_timer *timer,
|
|
|
omap_hwmod_setup_one(oh_name);
|
|
|
|
|
|
/* After the dmtimer is using hwmod these clocks won't be needed */
|
|
|
- timer->fclk = clk_get(NULL, omap_hwmod_get_main_clk(oh));
|
|
|
+ if (IS_ERR_OR_NULL(timer->fclk))
|
|
|
+ timer->fclk = clk_get(NULL, omap_hwmod_get_main_clk(oh));
|
|
|
if (IS_ERR(timer->fclk))
|
|
|
return PTR_ERR(timer->fclk);
|
|
|
|