From d44a4f4042917741cb97c9dd5789fd7d02db64bf Mon Sep 17 00:00:00 2001 From: Daniel Walker Date: Mon, 13 Dec 2010 14:35:10 -0800 Subject: [PATCH] --- yaml --- r: 225696 b: refs/heads/master c: 3a790bbe790e79a9744adf105ed135624a590f5b h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/mach-msm/clock.c | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) 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);