Merge branch 'pm-sleep'
* pm-sleep: PM: sleep: Drop dev_pm_skip_next_resume_phases() ACPI: PM: Drop unused function and function header ACPI: PM: Introduce "poweroff" callbacks for ACPI PM domain and LPSS ACPI: PM: Simplify and fix PM domain hibernation callbacks PCI: PM: Simplify bus-level hibernation callbacks PM: ACPI/PCI: Resume all devices during hibernation kernel: power: swap: use kzalloc() instead of kmalloc() followed by memset() PM: sleep: Update struct wakeup_source documentation drivers: base: power: remove wakeup_sources_stats_dentry variable PM: suspend: Rename pm_suspend_via_s2idle() PM: sleep: Show how long dpm_suspend_start() and dpm_suspend_end() take PM: hibernate: powerpc: Expose pfn_is_nosave() prototype
This commit is contained in:
@@ -529,21 +529,6 @@ static void dpm_watchdog_clear(struct dpm_watchdog *wd)
|
||||
|
||||
/*------------------------- Resume routines -------------------------*/
|
||||
|
||||
/**
|
||||
* dev_pm_skip_next_resume_phases - Skip next system resume phases for device.
|
||||
* @dev: Target device.
|
||||
*
|
||||
* Make the core skip the "early resume" and "resume" phases for @dev.
|
||||
*
|
||||
* This function can be called by middle-layer code during the "noirq" phase of
|
||||
* system resume if necessary, but not by device drivers.
|
||||
*/
|
||||
void dev_pm_skip_next_resume_phases(struct device *dev)
|
||||
{
|
||||
dev->power.is_late_suspended = false;
|
||||
dev->power.is_suspended = false;
|
||||
}
|
||||
|
||||
/**
|
||||
* suspend_event - Return a "suspend" message for given "resume" one.
|
||||
* @resume_msg: PM message representing a system-wide resume transition.
|
||||
@@ -681,6 +666,9 @@ Skip:
|
||||
dev->power.is_noirq_suspended = false;
|
||||
|
||||
if (skip_resume) {
|
||||
/* Make the next phases of resume skip the device. */
|
||||
dev->power.is_late_suspended = false;
|
||||
dev->power.is_suspended = false;
|
||||
/*
|
||||
* The device is going to be left in suspend, but it might not
|
||||
* have been in runtime suspend before the system suspended, so
|
||||
@@ -689,7 +677,6 @@ Skip:
|
||||
* device again.
|
||||
*/
|
||||
pm_runtime_set_suspended(dev);
|
||||
dev_pm_skip_next_resume_phases(dev);
|
||||
}
|
||||
|
||||
Out:
|
||||
@@ -1631,17 +1618,20 @@ int dpm_suspend_late(pm_message_t state)
|
||||
*/
|
||||
int dpm_suspend_end(pm_message_t state)
|
||||
{
|
||||
int error = dpm_suspend_late(state);
|
||||
ktime_t starttime = ktime_get();
|
||||
int error;
|
||||
|
||||
error = dpm_suspend_late(state);
|
||||
if (error)
|
||||
return error;
|
||||
goto out;
|
||||
|
||||
error = dpm_suspend_noirq(state);
|
||||
if (error) {
|
||||
if (error)
|
||||
dpm_resume_early(resume_event(state));
|
||||
return error;
|
||||
}
|
||||
|
||||
return 0;
|
||||
out:
|
||||
dpm_show_time(starttime, state, error, "end");
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dpm_suspend_end);
|
||||
|
||||
@@ -2034,6 +2024,7 @@ int dpm_prepare(pm_message_t state)
|
||||
*/
|
||||
int dpm_suspend_start(pm_message_t state)
|
||||
{
|
||||
ktime_t starttime = ktime_get();
|
||||
int error;
|
||||
|
||||
error = dpm_prepare(state);
|
||||
@@ -2042,6 +2033,7 @@ int dpm_suspend_start(pm_message_t state)
|
||||
dpm_save_failed_step(SUSPEND_PREPARE);
|
||||
} else
|
||||
error = dpm_suspend(state);
|
||||
dpm_show_time(starttime, state, error, "start");
|
||||
return error;
|
||||
}
|
||||
EXPORT_SYMBOL_GPL(dpm_suspend_start);
|
||||
|
@@ -968,8 +968,6 @@ void pm_wakep_autosleep_enabled(bool set)
|
||||
}
|
||||
#endif /* CONFIG_PM_AUTOSLEEP */
|
||||
|
||||
static struct dentry *wakeup_sources_stats_dentry;
|
||||
|
||||
/**
|
||||
* print_wakeup_source_stats - Print wakeup source statistics information.
|
||||
* @m: seq_file to print the statistics into.
|
||||
@@ -1099,8 +1097,8 @@ static const struct file_operations wakeup_sources_stats_fops = {
|
||||
|
||||
static int __init wakeup_sources_debugfs_init(void)
|
||||
{
|
||||
wakeup_sources_stats_dentry = debugfs_create_file("wakeup_sources",
|
||||
S_IRUGO, NULL, NULL, &wakeup_sources_stats_fops);
|
||||
debugfs_create_file("wakeup_sources", S_IRUGO, NULL, NULL,
|
||||
&wakeup_sources_stats_fops);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user