提交 6bfb7c74 编写于 作者: V Viresh Kumar 提交者: Rafael J. Wysocki

cpufreq: remove redundant CPUFREQ_INCOMPATIBLE notifier event

What's being done from CPUFREQ_INCOMPATIBLE, can also be done with
CPUFREQ_ADJUST. There is nothing special with CPUFREQ_INCOMPATIBLE
notifier.

Kill CPUFREQ_INCOMPATIBLE and fix its usage sites.

This also updates the numbering of notifier events to remove holes.
Signed-off-by: NViresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: NRafael J. Wysocki <rafael.j.wysocki@intel.com>
上级 1453863f
...@@ -55,16 +55,13 @@ transition notifiers. ...@@ -55,16 +55,13 @@ transition notifiers.
---------------------------- ----------------------------
These are notified when a new policy is intended to be set. Each These are notified when a new policy is intended to be set. Each
CPUFreq policy notifier is called three times for a policy transition: CPUFreq policy notifier is called twice for a policy transition:
1.) During CPUFREQ_ADJUST all CPUFreq notifiers may change the limit if 1.) During CPUFREQ_ADJUST all CPUFreq notifiers may change the limit if
they see a need for this - may it be thermal considerations or they see a need for this - may it be thermal considerations or
hardware limitations. hardware limitations.
2.) During CPUFREQ_INCOMPATIBLE only changes may be done in order to avoid 2.) And during CPUFREQ_NOTIFY all notifiers are informed of the new policy
hardware failure.
3.) And during CPUFREQ_NOTIFY all notifiers are informed of the new policy
- if two hardware drivers failed to agree on a new policy before this - if two hardware drivers failed to agree on a new policy before this
stage, the incompatible hardware shall be shut down, and the user stage, the incompatible hardware shall be shut down, and the user
informed of this. informed of this.
......
...@@ -87,7 +87,7 @@ static int acpi_processor_ppc_notifier(struct notifier_block *nb, ...@@ -87,7 +87,7 @@ static int acpi_processor_ppc_notifier(struct notifier_block *nb,
if (ignore_ppc) if (ignore_ppc)
return 0; return 0;
if (event != CPUFREQ_INCOMPATIBLE) if (event != CPUFREQ_ADJUST)
return 0; return 0;
mutex_lock(&performance_mutex); mutex_lock(&performance_mutex);
......
...@@ -2206,10 +2206,6 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy, ...@@ -2206,10 +2206,6 @@ static int cpufreq_set_policy(struct cpufreq_policy *policy,
blocking_notifier_call_chain(&cpufreq_policy_notifier_list, blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
CPUFREQ_ADJUST, new_policy); CPUFREQ_ADJUST, new_policy);
/* adjust if necessary - hardware incompatibility*/
blocking_notifier_call_chain(&cpufreq_policy_notifier_list,
CPUFREQ_INCOMPATIBLE, new_policy);
/* /*
* verify the cpu speed can be set within this limit, which might be * verify the cpu speed can be set within this limit, which might be
* different to the first one * different to the first one
......
...@@ -97,8 +97,8 @@ static int pmi_notifier(struct notifier_block *nb, ...@@ -97,8 +97,8 @@ static int pmi_notifier(struct notifier_block *nb,
struct cpufreq_frequency_table *cbe_freqs; struct cpufreq_frequency_table *cbe_freqs;
u8 node; u8 node;
/* Should this really be called for CPUFREQ_ADJUST, CPUFREQ_INCOMPATIBLE /* Should this really be called for CPUFREQ_ADJUST and CPUFREQ_NOTIFY
* and CPUFREQ_NOTIFY policy events?) * policy events?)
*/ */
if (event == CPUFREQ_START) if (event == CPUFREQ_START)
return 0; return 0;
......
...@@ -1668,7 +1668,6 @@ pxafb_freq_policy(struct notifier_block *nb, unsigned long val, void *data) ...@@ -1668,7 +1668,6 @@ pxafb_freq_policy(struct notifier_block *nb, unsigned long val, void *data)
switch (val) { switch (val) {
case CPUFREQ_ADJUST: case CPUFREQ_ADJUST:
case CPUFREQ_INCOMPATIBLE:
pr_debug("min dma period: %d ps, " pr_debug("min dma period: %d ps, "
"new clock %d kHz\n", pxafb_display_dma_period(var), "new clock %d kHz\n", pxafb_display_dma_period(var),
policy->max); policy->max);
......
...@@ -1042,7 +1042,6 @@ sa1100fb_freq_policy(struct notifier_block *nb, unsigned long val, ...@@ -1042,7 +1042,6 @@ sa1100fb_freq_policy(struct notifier_block *nb, unsigned long val,
switch (val) { switch (val) {
case CPUFREQ_ADJUST: case CPUFREQ_ADJUST:
case CPUFREQ_INCOMPATIBLE:
dev_dbg(fbi->dev, "min dma period: %d ps, " dev_dbg(fbi->dev, "min dma period: %d ps, "
"new clock %d kHz\n", sa1100fb_min_dma_period(fbi), "new clock %d kHz\n", sa1100fb_min_dma_period(fbi),
policy->max); policy->max);
......
...@@ -369,11 +369,10 @@ static inline void cpufreq_resume(void) {} ...@@ -369,11 +369,10 @@ static inline void cpufreq_resume(void) {}
/* Policy Notifiers */ /* Policy Notifiers */
#define CPUFREQ_ADJUST (0) #define CPUFREQ_ADJUST (0)
#define CPUFREQ_INCOMPATIBLE (1) #define CPUFREQ_NOTIFY (1)
#define CPUFREQ_NOTIFY (2) #define CPUFREQ_START (2)
#define CPUFREQ_START (3) #define CPUFREQ_CREATE_POLICY (3)
#define CPUFREQ_CREATE_POLICY (4) #define CPUFREQ_REMOVE_POLICY (4)
#define CPUFREQ_REMOVE_POLICY (5)
#ifdef CONFIG_CPU_FREQ #ifdef CONFIG_CPU_FREQ
int cpufreq_register_notifier(struct notifier_block *nb, unsigned int list); int cpufreq_register_notifier(struct notifier_block *nb, unsigned int list);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册