From 0d9a7cb08c7fdee7cdb3fd68a20e1aa2ab20ebf9 Mon Sep 17 00:00:00 2001 From: Jon Hunter Date: Fri, 7 Oct 2011 00:53:01 -0600 Subject: [PATCH] --- yaml --- r: 275116 b: refs/heads/master c: 49642ac816a714f3037b7cd6401a46c8fe46e795 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-omap2/dpll3xxx.c | 7 +++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index b14a69ba99e3..dadbb623cb85 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 273a1ce9cf27ac3900325b59aa78cc07bb574e9e +refs/heads/master: 49642ac816a714f3037b7cd6401a46c8fe46e795 diff --git a/trunk/arch/arm/mach-omap2/dpll3xxx.c b/trunk/arch/arm/mach-omap2/dpll3xxx.c index 73a1595c5f21..fc56745676fa 100644 --- a/trunk/arch/arm/mach-omap2/dpll3xxx.c +++ b/trunk/arch/arm/mach-omap2/dpll3xxx.c @@ -390,7 +390,8 @@ int omap3_noncore_dpll_enable(struct clk *clk) * propagating? */ if (!r) - clk->rate = omap2_get_dpll_rate(clk); + clk->rate = (clk->recalc) ? clk->recalc(clk) : + omap2_get_dpll_rate(clk); return r; } @@ -424,6 +425,7 @@ void omap3_noncore_dpll_disable(struct clk *clk) int omap3_noncore_dpll_set_rate(struct clk *clk, unsigned long rate) { struct clk *new_parent = NULL; + unsigned long hw_rate; u16 freqsel = 0; struct dpll_data *dd; int ret; @@ -435,7 +437,8 @@ int omap3_noncore_dpll_set_rate(struct clk *clk, unsigned long rate) if (!dd) return -EINVAL; - if (rate == omap2_get_dpll_rate(clk)) + hw_rate = (clk->recalc) ? clk->recalc(clk) : omap2_get_dpll_rate(clk); + if (rate == hw_rate) return 0; /*