mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-26 12:26:11 +00:00
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: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
1453863fb0
commit
6bfb7c7434
7 changed files with 9 additions and 19 deletions
|
@ -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,
|
||||||
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,
|
||||||
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,
|
||||||
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)
|
||||||
|
|
||||||
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,
|
||||||
|
|
||||||
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) {}
|
||||||
|
|
||||||
/* 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);
|
||||||
|
|
Loading…
Reference in a new issue