diff --git a/[refs] b/[refs] index 5266822ac4fe..60db35e2c030 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 304a09c3251c7c74660fc2ff9c590edf3d4bdd7e +refs/heads/master: 3a790bbe790e79a9744adf105ed135624a590f5b diff --git a/trunk/arch/arm/mach-msm/clock.c b/trunk/arch/arm/mach-msm/clock.c index c57210f4f06a..2069bfaa3a26 100644 --- a/trunk/arch/arm/mach-msm/clock.c +++ b/trunk/arch/arm/mach-msm/clock.c @@ -120,6 +120,21 @@ EXPORT_SYMBOL(clk_get_rate); int clk_set_rate(struct clk *clk, unsigned long rate) { + int ret; + if (clk->flags & CLKFLAG_MAX) { + ret = clk->ops->set_max_rate(clk->id, rate); + if (ret) + return ret; + } + if (clk->flags & CLKFLAG_MIN) { + ret = clk->ops->set_min_rate(clk->id, rate); + if (ret) + return ret; + } + + if (clk->flags & CLKFLAG_MAX || clk->flags & CLKFLAG_MIN) + return ret; + return clk->ops->set_rate(clk->id, rate); } EXPORT_SYMBOL(clk_set_rate);