PM: sleep: core: Rename DPM_FLAG_LEAVE_SUSPENDED
Rename DPM_FLAG_LEAVE_SUSPENDED to DPM_FLAG_MAY_SKIP_RESUME which matches its purpose more closely. No functional impact. Suggested-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Acked-by: Wolfram Sang <wsa@the-dreams.de> # for I2C Acked-by: Alan Stern <stern@rowland.harvard.edu> Acked-by: Bjorn Helgaas <bhelgaas@google.com>
This commit is contained in:
parent
e07515563d
commit
2a3f34750b
|
@ -803,7 +803,7 @@ general.]
|
||||||
However, it often is desirable to leave devices in suspend after system
|
However, it often is desirable to leave devices in suspend after system
|
||||||
transitions to the working state, especially if those devices had been in
|
transitions to the working state, especially if those devices had been in
|
||||||
runtime suspend before the preceding system-wide suspend (or analogous)
|
runtime suspend before the preceding system-wide suspend (or analogous)
|
||||||
transition. Device drivers can use the ``DPM_FLAG_LEAVE_SUSPENDED`` flag to
|
transition. Device drivers can use the ``DPM_FLAG_MAY_SKIP_RESUME`` flag to
|
||||||
indicate to the PM core (and middle-layer code) that they prefer the specific
|
indicate to the PM core (and middle-layer code) that they prefer the specific
|
||||||
devices handled by them to be left suspended and they have no problems with
|
devices handled by them to be left suspended and they have no problems with
|
||||||
skipping their system-wide resume callbacks for this reason. Whether or not the
|
skipping their system-wide resume callbacks for this reason. Whether or not the
|
||||||
|
@ -825,7 +825,7 @@ device really can be left in suspend.
|
||||||
|
|
||||||
For devices whose "noirq", "late" and "early" driver callbacks are invoked
|
For devices whose "noirq", "late" and "early" driver callbacks are invoked
|
||||||
directly by the PM core, all of the system-wide resume callbacks are skipped if
|
directly by the PM core, all of the system-wide resume callbacks are skipped if
|
||||||
``DPM_FLAG_LEAVE_SUSPENDED`` is set and the device is in runtime suspend during
|
``DPM_FLAG_MAY_SKIP_RESUME`` is set and the device is in runtime suspend during
|
||||||
the ``suspend_noirq`` (or analogous) phase or the transition under way is a
|
the ``suspend_noirq`` (or analogous) phase or the transition under way is a
|
||||||
proper system suspend (rather than anything related to hibernation) and the
|
proper system suspend (rather than anything related to hibernation) and the
|
||||||
device's wakeup settings are suitable for runtime PM (that is, it cannot
|
device's wakeup settings are suitable for runtime PM (that is, it cannot
|
||||||
|
|
|
@ -1029,7 +1029,7 @@ into D0 going forward), but if it is in runtime suspend in pci_pm_thaw_noirq(),
|
||||||
the function will set the power.direct_complete flag for it (to make the PM core
|
the function will set the power.direct_complete flag for it (to make the PM core
|
||||||
skip the subsequent "thaw" callbacks for it) and return.
|
skip the subsequent "thaw" callbacks for it) and return.
|
||||||
|
|
||||||
Setting the DPM_FLAG_LEAVE_SUSPENDED flag means that the driver prefers the
|
Setting the DPM_FLAG_MAY_SKIP_RESUME flag means that the driver prefers the
|
||||||
device to be left in suspend after system-wide transitions to the working state.
|
device to be left in suspend after system-wide transitions to the working state.
|
||||||
This flag is checked by the PM core, but the PCI bus type informs the PM core
|
This flag is checked by the PM core, but the PCI bus type informs the PM core
|
||||||
which devices may be left in suspend from its perspective (that happens during
|
which devices may be left in suspend from its perspective (that happens during
|
||||||
|
|
|
@ -624,7 +624,7 @@ static int acpi_tad_probe(struct platform_device *pdev)
|
||||||
*/
|
*/
|
||||||
device_init_wakeup(dev, true);
|
device_init_wakeup(dev, true);
|
||||||
dev_pm_set_driver_flags(dev, DPM_FLAG_SMART_SUSPEND |
|
dev_pm_set_driver_flags(dev, DPM_FLAG_SMART_SUSPEND |
|
||||||
DPM_FLAG_LEAVE_SUSPENDED);
|
DPM_FLAG_MAY_SKIP_RESUME);
|
||||||
/*
|
/*
|
||||||
* The platform bus type layer tells the ACPI PM domain powers up the
|
* The platform bus type layer tells the ACPI PM domain powers up the
|
||||||
* device, so set the runtime PM status of it to "active".
|
* device, so set the runtime PM status of it to "active".
|
||||||
|
|
|
@ -1247,7 +1247,7 @@ Skip:
|
||||||
* to be skipped.
|
* to be skipped.
|
||||||
*/
|
*/
|
||||||
if (atomic_read(&dev->power.usage_count) > 1 ||
|
if (atomic_read(&dev->power.usage_count) > 1 ||
|
||||||
!(dev_pm_test_driver_flags(dev, DPM_FLAG_LEAVE_SUSPENDED) &&
|
!(dev_pm_test_driver_flags(dev, DPM_FLAG_MAY_SKIP_RESUME) &&
|
||||||
dev->power.may_skip_resume))
|
dev->power.may_skip_resume))
|
||||||
dev->power.must_resume = true;
|
dev->power.must_resume = true;
|
||||||
|
|
||||||
|
|
|
@ -357,12 +357,12 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
|
||||||
if (dev->flags & ACCESS_NO_IRQ_SUSPEND) {
|
if (dev->flags & ACCESS_NO_IRQ_SUSPEND) {
|
||||||
dev_pm_set_driver_flags(&pdev->dev,
|
dev_pm_set_driver_flags(&pdev->dev,
|
||||||
DPM_FLAG_SMART_PREPARE |
|
DPM_FLAG_SMART_PREPARE |
|
||||||
DPM_FLAG_LEAVE_SUSPENDED);
|
DPM_FLAG_MAY_SKIP_RESUME);
|
||||||
} else {
|
} else {
|
||||||
dev_pm_set_driver_flags(&pdev->dev,
|
dev_pm_set_driver_flags(&pdev->dev,
|
||||||
DPM_FLAG_SMART_PREPARE |
|
DPM_FLAG_SMART_PREPARE |
|
||||||
DPM_FLAG_SMART_SUSPEND |
|
DPM_FLAG_SMART_SUSPEND |
|
||||||
DPM_FLAG_LEAVE_SUSPENDED);
|
DPM_FLAG_MAY_SKIP_RESUME);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* The code below assumes runtime PM to be disabled. */
|
/* The code below assumes runtime PM to be disabled. */
|
||||||
|
|
|
@ -547,7 +547,7 @@ struct pm_subsys_data {
|
||||||
* NO_DIRECT_COMPLETE: Do not apply direct-complete optimization to the device.
|
* NO_DIRECT_COMPLETE: Do not apply direct-complete optimization to the device.
|
||||||
* SMART_PREPARE: Check the return value of the driver's ->prepare callback.
|
* SMART_PREPARE: Check the return value of the driver's ->prepare callback.
|
||||||
* SMART_SUSPEND: No need to resume the device from runtime suspend.
|
* SMART_SUSPEND: No need to resume the device from runtime suspend.
|
||||||
* LEAVE_SUSPENDED: Avoid resuming the device during system resume if possible.
|
* MAY_SKIP_RESUME: Avoid resuming the device during system resume if possible.
|
||||||
*
|
*
|
||||||
* Setting SMART_PREPARE instructs bus types and PM domains which may want
|
* Setting SMART_PREPARE instructs bus types and PM domains which may want
|
||||||
* system suspend/resume callbacks to be skipped for the device to return 0 from
|
* system suspend/resume callbacks to be skipped for the device to return 0 from
|
||||||
|
@ -562,13 +562,13 @@ struct pm_subsys_data {
|
||||||
* invocations of the ->suspend_late and ->suspend_noirq callbacks provided by
|
* invocations of the ->suspend_late and ->suspend_noirq callbacks provided by
|
||||||
* the driver if they decide to leave the device in runtime suspend.
|
* the driver if they decide to leave the device in runtime suspend.
|
||||||
*
|
*
|
||||||
* Setting LEAVE_SUSPENDED informs the PM core and middle-layer code that the
|
* Setting MAY_SKIP_RESUME informs the PM core and middle-layer code that the
|
||||||
* driver prefers the device to be left in suspend after system resume.
|
* driver prefers the device to be left in suspend after system resume.
|
||||||
*/
|
*/
|
||||||
#define DPM_FLAG_NO_DIRECT_COMPLETE BIT(0)
|
#define DPM_FLAG_NO_DIRECT_COMPLETE BIT(0)
|
||||||
#define DPM_FLAG_SMART_PREPARE BIT(1)
|
#define DPM_FLAG_SMART_PREPARE BIT(1)
|
||||||
#define DPM_FLAG_SMART_SUSPEND BIT(2)
|
#define DPM_FLAG_SMART_SUSPEND BIT(2)
|
||||||
#define DPM_FLAG_LEAVE_SUSPENDED BIT(3)
|
#define DPM_FLAG_MAY_SKIP_RESUME BIT(3)
|
||||||
|
|
||||||
struct dev_pm_info {
|
struct dev_pm_info {
|
||||||
pm_message_t power_state;
|
pm_message_t power_state;
|
||||||
|
|
Loading…
Reference in New Issue