aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/cpufreq/s3c64xx-cpufreq.c
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2011-06-22 10:08:56 -0400
committerDave Jones <davej@redhat.com>2011-07-13 18:29:55 -0400
commitfb3b1fefaaccdbdc716db0963ba41fb6b4221e60 (patch)
tree219a9bfe8331bbed5282a81842a62a544c25b05b /drivers/cpufreq/s3c64xx-cpufreq.c
parentc6e2d68558b612fdfdb0d7ddcb51ad4578b81eba (diff)
[CPUFREQ] S3C64xx: Notify transition complete as soon as frequency changed
The CPUFREQ_POSTCHANGE notification is used to update things that depend on the system clock rates. Since this may include the interfaces used to talk to the regulators do the notification before we try to update regulators to reflect lowered system clock rate. The voltage scaling is just a power optimisation and may not happen at all so there's no concern about it not having completed. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Acked-by: Kukjin Kim <kgene.kim@samsung.com> Signed-off-by: Dave Jones <davej@redhat.com>
Diffstat (limited to 'drivers/cpufreq/s3c64xx-cpufreq.c')
-rw-r--r--drivers/cpufreq/s3c64xx-cpufreq.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/cpufreq/s3c64xx-cpufreq.c b/drivers/cpufreq/s3c64xx-cpufreq.c
index fc69178798e6..e818248ab2b1 100644
--- a/drivers/cpufreq/s3c64xx-cpufreq.c
+++ b/drivers/cpufreq/s3c64xx-cpufreq.c
@@ -112,6 +112,8 @@ static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy,
112 goto err; 112 goto err;
113 } 113 }
114 114
115 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
116
115#ifdef CONFIG_REGULATOR 117#ifdef CONFIG_REGULATOR
116 if (vddarm && freqs.new < freqs.old) { 118 if (vddarm && freqs.new < freqs.old) {
117 ret = regulator_set_voltage(vddarm, 119 ret = regulator_set_voltage(vddarm,
@@ -125,8 +127,6 @@ static int s3c64xx_cpufreq_set_target(struct cpufreq_policy *policy,
125 } 127 }
126#endif 128#endif
127 129
128 cpufreq_notify_transition(&freqs, CPUFREQ_POSTCHANGE);
129
130 pr_debug("cpufreq: Set actual frequency %lukHz\n", 130 pr_debug("cpufreq: Set actual frequency %lukHz\n",
131 clk_get_rate(armclk) / 1000); 131 clk_get_rate(armclk) / 1000);
132 132