PM / devfreq: Core updates to support devices which can idle
[deliverable/linux.git] / drivers / devfreq / governor_simpleondemand.c
index a2e3eae790119ef7e01527a94b4bf44b20589a07..3716a659122bdfabbc3f6a06ed30e6b55c4fd0c4 100644 (file)
@@ -12,6 +12,7 @@
 #include <linux/errno.h>
 #include <linux/devfreq.h>
 #include <linux/math64.h>
+#include "governor.h"
 
 /* Default constants for DevFreq-Simple-Ondemand (DFSO) */
 #define DFSO_UPTHRESHOLD       (90)
@@ -88,7 +89,30 @@ static int devfreq_simple_ondemand_func(struct devfreq *df,
        return 0;
 }
 
+static int devfreq_simple_ondemand_handler(struct devfreq *devfreq,
+                               unsigned int event, void *data)
+{
+       switch (event) {
+       case DEVFREQ_GOV_START:
+               devfreq_monitor_start(devfreq);
+               break;
+
+       case DEVFREQ_GOV_STOP:
+               devfreq_monitor_stop(devfreq);
+               break;
+
+       case DEVFREQ_GOV_INTERVAL:
+               devfreq_interval_update(devfreq, (unsigned int *)data);
+               break;
+       default:
+               break;
+       }
+
+       return 0;
+}
+
 const struct devfreq_governor devfreq_simple_ondemand = {
        .name = "simple_ondemand",
        .get_target_freq = devfreq_simple_ondemand_func,
+       .event_handler = devfreq_simple_ondemand_handler,
 };
This page took 0.027073 seconds and 5 git commands to generate.