cpufreq: Register governors at core_initcall
[sfrench/cifs-2.6.git] / include / linux / cpufreq.h
index 3494f6763597e7992af3e2afaa74cee471ce96c3..e62b022cb07e5786dafefc745c70ce8354569148 100644 (file)
@@ -577,6 +577,20 @@ unsigned int cpufreq_policy_transition_delay_us(struct cpufreq_policy *policy);
 int cpufreq_register_governor(struct cpufreq_governor *governor);
 void cpufreq_unregister_governor(struct cpufreq_governor *governor);
 
+#define cpufreq_governor_init(__governor)                      \
+static int __init __governor##_init(void)                      \
+{                                                              \
+       return cpufreq_register_governor(&__governor);  \
+}                                                              \
+core_initcall(__governor##_init)
+
+#define cpufreq_governor_exit(__governor)                      \
+static void __exit __governor##_exit(void)                     \
+{                                                              \
+       return cpufreq_unregister_governor(&__governor);        \
+}                                                              \
+module_exit(__governor##_exit)
+
 struct cpufreq_governor *cpufreq_default_governor(void);
 struct cpufreq_governor *cpufreq_fallback_governor(void);