From f3984ab5afc1b83cde25e5e1569f55094982e38c Mon Sep 17 00:00:00 2001
From: =?utf8?q?=E9=BB=84=E6=B6=9B?= <huangtao@rock-chips.com>
Date: Fri, 20 Apr 2012 19:08:40 +0800
Subject: [PATCH] Revert "rk30: cpufreq: notify frequency change once"

This reverts commit 0f37d777390d60ca6d0bf63d36d7f2cb7678e02a.
---
 arch/arm/mach-rk30/cpufreq.c | 24 +++++++++++++-----------
 1 file changed, 13 insertions(+), 11 deletions(-)

diff --git a/arch/arm/mach-rk30/cpufreq.c b/arch/arm/mach-rk30/cpufreq.c
index 704323390e0e..9c37fa1645ae 100755
--- a/arch/arm/mach-rk30/cpufreq.c
+++ b/arch/arm/mach-rk30/cpufreq.c
@@ -304,13 +304,13 @@ int cpufreq_scale_rate_for_dvfs(struct clk * clk,unsigned long rate,dvfs_set_rat
 	unsigned int i;
 	int ret=-EINVAL;
 	struct cpufreq_freqs freqs;
-
-	freqs.cpu = 0;
-	freqs.old = rk30_getspeed(0);
-	freqs.new = rate/1000;
-
-	cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
-
+	
+	freqs.new=rate/1000;
+	freqs.old=rk30_getspeed(0);
+	
+	get_online_cpus();
+	for_each_online_cpu(freqs.cpu)
+		cpufreq_notify_transition(&freqs, CPUFREQ_PRECHANGE);
 	FREQ_PRINTK_DBG("cpufreq_scale_rate_for_dvfs(%lu)\n",rate);
 	ret = set_rate(clk,rate);
 
@@ -325,10 +325,12 @@ int cpufreq_scale_rate_for_dvfs(struct clk * clk,unsigned long rate,dvfs_set_rat
 	}
 #endif
 
-	freqs.new = rk30_getspeed(0);
-
-	cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
-
+	freqs.old=freqs.new;
+	freqs.new=rk30_getspeed(0);
+	/* notifiers */
+	for_each_online_cpu(freqs.cpu)
+		cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
+	put_online_cpus();
 	return ret;
 
 }
-- 
2.34.1