diff options
Diffstat (limited to 'arch/arm/mach-omap2/clock.c')
-rw-r--r-- | arch/arm/mach-omap2/clock.c | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c index 3bb3292ec469..9df5937999cb 100644 --- a/arch/arm/mach-omap2/clock.c +++ b/arch/arm/mach-omap2/clock.c | |||
@@ -318,11 +318,6 @@ int omap2_clk_set_rate(struct clk *clk, unsigned long rate) | |||
318 | 318 | ||
319 | pr_debug("clock: set_rate for clock %s to rate %ld\n", clk->name, rate); | 319 | pr_debug("clock: set_rate for clock %s to rate %ld\n", clk->name, rate); |
320 | 320 | ||
321 | /* CONFIG_PARTICIPANT clocks are changed only in sets via the | ||
322 | rate table mechanism, driven by mpu_speed */ | ||
323 | if (clk->flags & CONFIG_PARTICIPANT) | ||
324 | return -EINVAL; | ||
325 | |||
326 | /* dpll_ck, core_ck, virt_prcm_set; plus all clksel clocks */ | 321 | /* dpll_ck, core_ck, virt_prcm_set; plus all clksel clocks */ |
327 | if (clk->set_rate) | 322 | if (clk->set_rate) |
328 | ret = clk->set_rate(clk, rate); | 323 | ret = clk->set_rate(clk, rate); |
@@ -332,12 +327,12 @@ int omap2_clk_set_rate(struct clk *clk, unsigned long rate) | |||
332 | 327 | ||
333 | int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent) | 328 | int omap2_clk_set_parent(struct clk *clk, struct clk *new_parent) |
334 | { | 329 | { |
335 | if (clk->flags & CONFIG_PARTICIPANT) | ||
336 | return -EINVAL; | ||
337 | |||
338 | if (!clk->clksel) | 330 | if (!clk->clksel) |
339 | return -EINVAL; | 331 | return -EINVAL; |
340 | 332 | ||
333 | if (clk->parent == new_parent) | ||
334 | return 0; | ||
335 | |||
341 | return omap2_clksel_set_parent(clk, new_parent); | 336 | return omap2_clksel_set_parent(clk, new_parent); |
342 | } | 337 | } |
343 | 338 | ||