Merge tag 'dt' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[firefly-linux-kernel-4.4.55.git] / drivers / devfreq / governor_performance.c
index eea3f9bd78947331fe5b5ce8d9e8b6e6fac7de18..c72f942f30a85a198b89514703b485d9f790867b 100644 (file)
@@ -10,6 +10,7 @@
  */
 
 #include <linux/devfreq.h>
+#include <linux/module.h>
 #include "governor.h"
 
 static int devfreq_performance_func(struct devfreq *df,
@@ -40,8 +41,27 @@ static int devfreq_performance_handler(struct devfreq *devfreq,
        return ret;
 }
 
-const struct devfreq_governor devfreq_performance = {
+static struct devfreq_governor devfreq_performance = {
        .name = "performance",
        .get_target_freq = devfreq_performance_func,
        .event_handler = devfreq_performance_handler,
 };
+
+static int __init devfreq_performance_init(void)
+{
+       return devfreq_add_governor(&devfreq_performance);
+}
+subsys_initcall(devfreq_performance_init);
+
+static void __exit devfreq_performance_exit(void)
+{
+       int ret;
+
+       ret = devfreq_remove_governor(&devfreq_performance);
+       if (ret)
+               pr_err("%s: failed remove governor %d\n", __func__, ret);
+
+       return;
+}
+module_exit(devfreq_performance_exit);
+MODULE_LICENSE("GPL");