Merge branch 'pm-fixes'
* pm-fixes:
cpufreq: Revert commit 2f7021a8
to fix CPU hotplug regression
cpufreq: s3c24xx: fix "depends on ARM_S3C24XX" in Kconfig
cpufreq: s3c24xx: rename CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
PM / Sleep: Fix comment typo in pm_wakeup.h
PM / Sleep: avoid 'autosleep' in shutdown progress
cpufreq: Revert commit a66b2e to fix suspend/resume regression
This commit is contained in:
commit
5a8d281559
|
@ -208,7 +208,7 @@ config S3C24XX_GPIO_EXTRA128
|
||||||
|
|
||||||
config S3C24XX_PLL
|
config S3C24XX_PLL
|
||||||
bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
|
bool "Support CPUfreq changing of PLL frequency (EXPERIMENTAL)"
|
||||||
depends on ARM_S3C24XX
|
depends on ARM_S3C24XX_CPUFREQ
|
||||||
help
|
help
|
||||||
Compile in support for changing the PLL frequency from the
|
Compile in support for changing the PLL frequency from the
|
||||||
S3C24XX series CPUfreq driver. The PLL takes time to settle
|
S3C24XX series CPUfreq driver. The PLL takes time to settle
|
||||||
|
|
|
@ -1942,13 +1942,15 @@ static int __cpuinit cpufreq_cpu_callback(struct notifier_block *nfb,
|
||||||
if (dev) {
|
if (dev) {
|
||||||
switch (action) {
|
switch (action) {
|
||||||
case CPU_ONLINE:
|
case CPU_ONLINE:
|
||||||
|
case CPU_ONLINE_FROZEN:
|
||||||
cpufreq_add_dev(dev, NULL);
|
cpufreq_add_dev(dev, NULL);
|
||||||
break;
|
break;
|
||||||
case CPU_DOWN_PREPARE:
|
case CPU_DOWN_PREPARE:
|
||||||
case CPU_UP_CANCELED_FROZEN:
|
case CPU_DOWN_PREPARE_FROZEN:
|
||||||
__cpufreq_remove_dev(dev, NULL);
|
__cpufreq_remove_dev(dev, NULL);
|
||||||
break;
|
break;
|
||||||
case CPU_DOWN_FAILED:
|
case CPU_DOWN_FAILED:
|
||||||
|
case CPU_DOWN_FAILED_FROZEN:
|
||||||
cpufreq_add_dev(dev, NULL);
|
cpufreq_add_dev(dev, NULL);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -25,7 +25,6 @@
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/types.h>
|
#include <linux/types.h>
|
||||||
#include <linux/workqueue.h>
|
#include <linux/workqueue.h>
|
||||||
#include <linux/cpu.h>
|
|
||||||
|
|
||||||
#include "cpufreq_governor.h"
|
#include "cpufreq_governor.h"
|
||||||
|
|
||||||
|
@ -137,10 +136,8 @@ void gov_queue_work(struct dbs_data *dbs_data, struct cpufreq_policy *policy,
|
||||||
if (!all_cpus) {
|
if (!all_cpus) {
|
||||||
__gov_queue_work(smp_processor_id(), dbs_data, delay);
|
__gov_queue_work(smp_processor_id(), dbs_data, delay);
|
||||||
} else {
|
} else {
|
||||||
get_online_cpus();
|
|
||||||
for_each_cpu(i, policy->cpus)
|
for_each_cpu(i, policy->cpus)
|
||||||
__gov_queue_work(i, dbs_data, delay);
|
__gov_queue_work(i, dbs_data, delay);
|
||||||
put_online_cpus();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(gov_queue_work);
|
EXPORT_SYMBOL_GPL(gov_queue_work);
|
||||||
|
|
|
@ -353,13 +353,11 @@ static int __cpuinit cpufreq_stat_cpu_callback(struct notifier_block *nfb,
|
||||||
cpufreq_update_policy(cpu);
|
cpufreq_update_policy(cpu);
|
||||||
break;
|
break;
|
||||||
case CPU_DOWN_PREPARE:
|
case CPU_DOWN_PREPARE:
|
||||||
|
case CPU_DOWN_PREPARE_FROZEN:
|
||||||
cpufreq_stats_free_sysfs(cpu);
|
cpufreq_stats_free_sysfs(cpu);
|
||||||
break;
|
break;
|
||||||
case CPU_DEAD:
|
case CPU_DEAD:
|
||||||
cpufreq_stats_free_table(cpu);
|
case CPU_DEAD_FROZEN:
|
||||||
break;
|
|
||||||
case CPU_UP_CANCELED_FROZEN:
|
|
||||||
cpufreq_stats_free_sysfs(cpu);
|
|
||||||
cpufreq_stats_free_table(cpu);
|
cpufreq_stats_free_table(cpu);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,7 +49,7 @@ static struct clk *clk_hclk;
|
||||||
static struct clk *clk_pclk;
|
static struct clk *clk_pclk;
|
||||||
static struct clk *clk_arm;
|
static struct clk *clk_arm;
|
||||||
|
|
||||||
#ifdef CONFIG_CPU_FREQ_S3C24XX_DEBUGFS
|
#ifdef CONFIG_ARM_S3C24XX_CPUFREQ_DEBUGFS
|
||||||
struct s3c_cpufreq_config *s3c_cpufreq_getconfig(void)
|
struct s3c_cpufreq_config *s3c_cpufreq_getconfig(void)
|
||||||
{
|
{
|
||||||
return &cpu_cur;
|
return &cpu_cur;
|
||||||
|
@ -59,7 +59,7 @@ struct s3c_iotimings *s3c_cpufreq_getiotimings(void)
|
||||||
{
|
{
|
||||||
return &s3c24xx_iotiming;
|
return &s3c24xx_iotiming;
|
||||||
}
|
}
|
||||||
#endif /* CONFIG_CPU_FREQ_S3C24XX_DEBUGFS */
|
#endif /* CONFIG_ARM_S3C24XX_CPUFREQ_DEBUGFS */
|
||||||
|
|
||||||
static void s3c_cpufreq_getcur(struct s3c_cpufreq_config *cfg)
|
static void s3c_cpufreq_getcur(struct s3c_cpufreq_config *cfg)
|
||||||
{
|
{
|
||||||
|
|
|
@ -36,8 +36,8 @@
|
||||||
* @last_time: Monotonic clock when the wakeup source's was touched last time.
|
* @last_time: Monotonic clock when the wakeup source's was touched last time.
|
||||||
* @prevent_sleep_time: Total time this source has been preventing autosleep.
|
* @prevent_sleep_time: Total time this source has been preventing autosleep.
|
||||||
* @event_count: Number of signaled wakeup events.
|
* @event_count: Number of signaled wakeup events.
|
||||||
* @active_count: Number of times the wakeup sorce was activated.
|
* @active_count: Number of times the wakeup source was activated.
|
||||||
* @relax_count: Number of times the wakeup sorce was deactivated.
|
* @relax_count: Number of times the wakeup source was deactivated.
|
||||||
* @expire_count: Number of times the wakeup source's timeout has expired.
|
* @expire_count: Number of times the wakeup source's timeout has expired.
|
||||||
* @wakeup_count: Number of times the wakeup source might abort suspend.
|
* @wakeup_count: Number of times the wakeup source might abort suspend.
|
||||||
* @active: Status of the wakeup source.
|
* @active: Status of the wakeup source.
|
||||||
|
|
|
@ -32,7 +32,8 @@ static void try_to_suspend(struct work_struct *work)
|
||||||
|
|
||||||
mutex_lock(&autosleep_lock);
|
mutex_lock(&autosleep_lock);
|
||||||
|
|
||||||
if (!pm_save_wakeup_count(initial_count)) {
|
if (!pm_save_wakeup_count(initial_count) ||
|
||||||
|
system_state != SYSTEM_RUNNING) {
|
||||||
mutex_unlock(&autosleep_lock);
|
mutex_unlock(&autosleep_lock);
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue