aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
Diffstat (limited to 'drivers')
-rw-r--r--drivers/acpi/sleep/main.c8
-rw-r--r--drivers/pci/pci-acpi.c3
-rw-r--r--drivers/pnp/pnpacpi/core.c4
3 files changed, 6 insertions, 9 deletions
diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c
index c3b0cd88d09f..fbd40e96ed14 100644
--- a/drivers/acpi/sleep/main.c
+++ b/drivers/acpi/sleep/main.c
@@ -369,8 +369,8 @@ int acpi_suspend(u32 acpi_state)
369/** 369/**
370 * acpi_pm_device_sleep_state - return preferred power state of ACPI device 370 * acpi_pm_device_sleep_state - return preferred power state of ACPI device
371 * in the system sleep state given by %acpi_target_sleep_state 371 * in the system sleep state given by %acpi_target_sleep_state
372 * @dev: device to examine 372 * @dev: device to examine; its driver model wakeup flags control
373 * @wake: if set, the device should be able to wake up the system 373 * whether it should be able to wake up the system
374 * @d_min_p: used to store the upper limit of allowed states range 374 * @d_min_p: used to store the upper limit of allowed states range
375 * Return value: preferred power state of the device on success, -ENODEV on 375 * Return value: preferred power state of the device on success, -ENODEV on
376 * failure (ie. if there's no 'struct acpi_device' for @dev) 376 * failure (ie. if there's no 'struct acpi_device' for @dev)
@@ -388,7 +388,7 @@ int acpi_suspend(u32 acpi_state)
388 * via @wake. 388 * via @wake.
389 */ 389 */
390 390
391int acpi_pm_device_sleep_state(struct device *dev, int wake, int *d_min_p) 391int acpi_pm_device_sleep_state(struct device *dev, int *d_min_p)
392{ 392{
393 acpi_handle handle = DEVICE_ACPI_HANDLE(dev); 393 acpi_handle handle = DEVICE_ACPI_HANDLE(dev);
394 struct acpi_device *adev; 394 struct acpi_device *adev;
@@ -427,7 +427,7 @@ int acpi_pm_device_sleep_state(struct device *dev, int wake, int *d_min_p)
427 * can wake the system. _S0W may be valid, too. 427 * can wake the system. _S0W may be valid, too.
428 */ 428 */
429 if (acpi_target_sleep_state == ACPI_STATE_S0 || 429 if (acpi_target_sleep_state == ACPI_STATE_S0 ||
430 (wake && adev->wakeup.state.enabled && 430 (device_may_wakeup(dev) && adev->wakeup.state.enabled &&
431 adev->wakeup.sleep_state <= acpi_target_sleep_state)) { 431 adev->wakeup.sleep_state <= acpi_target_sleep_state)) {
432 acpi_status status; 432 acpi_status status;
433 433
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index 9d6fc8e6285d..caabf0573c3d 100644
--- a/drivers/pci/pci-acpi.c
+++ b/drivers/pci/pci-acpi.c
@@ -298,8 +298,7 @@ static pci_power_t acpi_pci_choose_state(struct pci_dev *pdev,
298{ 298{
299 int acpi_state; 299 int acpi_state;
300 300
301 acpi_state = acpi_pm_device_sleep_state(&pdev->dev, 301 acpi_state = acpi_pm_device_sleep_state(&pdev->dev, NULL);
302 device_may_wakeup(&pdev->dev), NULL);
303 if (acpi_state < 0) 302 if (acpi_state < 0)
304 return PCI_POWER_ERROR; 303 return PCI_POWER_ERROR;
305 304
diff --git a/drivers/pnp/pnpacpi/core.c b/drivers/pnp/pnpacpi/core.c
index 50902773beaf..c1b9ea34977b 100644
--- a/drivers/pnp/pnpacpi/core.c
+++ b/drivers/pnp/pnpacpi/core.c
@@ -117,9 +117,7 @@ static int pnpacpi_suspend(struct pnp_dev *dev, pm_message_t state)
117{ 117{
118 int power_state; 118 int power_state;
119 119
120 power_state = acpi_pm_device_sleep_state(&dev->dev, 120 power_state = acpi_pm_device_sleep_state(&dev->dev, NULL);
121 device_may_wakeup(&dev->dev),
122 NULL);
123 if (power_state < 0) 121 if (power_state < 0)
124 power_state = (state.event == PM_EVENT_ON) ? 122 power_state = (state.event == PM_EVENT_ON) ?
125 ACPI_STATE_D0 : ACPI_STATE_D3; 123 ACPI_STATE_D0 : ACPI_STATE_D3;