PM: devfreq: init performance/powersave governor
authorXiaoguang Chen <chenxg@marvell.com>
Sun, 29 Apr 2012 20:51:31 +0000 (22:51 +0200)
committerRafael J. Wysocki <rjw@sisk.pl>
Tue, 1 May 2012 19:23:50 +0000 (21:23 +0200)
Performance and powersave governor's get_target_freq
is not called if driver chooses one of these two governors.
Add init function in governor profile to call update_devfreq
which will call get_target_freq subsequently.

Signed-off-by: Xiaoguang Chen <chenxg@marvell.com>
Acked-by: MyungJoo Ham <myungjoo.ham@samsung.com>
Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
drivers/devfreq/governor_performance.c
drivers/devfreq/governor_powersave.c

index 574a06b1b1deb4d431cddd1d7a399bcb9a7825f4..af75ddd4f158b5de78f9d5bc44ec2f9c579e78a5 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <linux/devfreq.h>
+#include "governor.h"
 
 static int devfreq_performance_func(struct devfreq *df,
                                    unsigned long *freq)
@@ -25,8 +26,14 @@ static int devfreq_performance_func(struct devfreq *df,
        return 0;
 }
 
+static int performance_init(struct devfreq *devfreq)
+{
+       return update_devfreq(devfreq);
+}
+
 const struct devfreq_governor devfreq_performance = {
        .name = "performance",
+       .init = performance_init,
        .get_target_freq = devfreq_performance_func,
        .no_central_polling = true,
 };
index d742d4a82d6a0da726f620ae5505e4d5c642c95b..fec0cdbd24773fd531b5c300bfb4afb5111d9545 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <linux/devfreq.h>
+#include "governor.h"
 
 static int devfreq_powersave_func(struct devfreq *df,
                                  unsigned long *freq)
@@ -22,8 +23,14 @@ static int devfreq_powersave_func(struct devfreq *df,
        return 0;
 }
 
+static int powersave_init(struct devfreq *devfreq)
+{
+       return update_devfreq(devfreq);
+}
+
 const struct devfreq_governor devfreq_powersave = {
        .name = "powersave",
+       .init = powersave_init,
        .get_target_freq = devfreq_powersave_func,
        .no_central_polling = true,
 };