Merge tag 'for-linus-5.9-1' of git://github.com/cminyard/linux-ipmi
[linux-2.6-microblaze.git] / include / linux / cpufreq.h
index 3494f67..58687a5 100644 (file)
@@ -127,7 +127,7 @@ struct cpufreq_policy {
 
         /* Cached frequency lookup from cpufreq_driver_resolve_freq. */
        unsigned int cached_target_freq;
-       int cached_resolved_idx;
+       unsigned int cached_resolved_idx;
 
        /* Synchronization for frequency transitions */
        bool                    transition_ongoing; /* Tracks transition status */
@@ -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);