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 495c63a3e0a..b45806d7728 100644
--- a/drivers/acpi/sleep/main.c
+++ b/drivers/acpi/sleep/main.c
@@ -368,8 +368,8 @@ int acpi_suspend(u32 acpi_state)
368/** 368/**
369 * acpi_pm_device_sleep_state - return preferred power state of ACPI device 369 * acpi_pm_device_sleep_state - return preferred power state of ACPI device
370 * in the system sleep state given by %acpi_target_sleep_state 370 * in the system sleep state given by %acpi_target_sleep_state
371 * @dev: device to examine 371 * @dev: device to examine; its driver model wakeup flags control
372 * @wake: if set, the device should be able to wake up the system 372 * whether it should be able to wake up the system
373 * @d_min_p: used to store the upper limit of allowed states range 373 * @d_min_p: used to store the upper limit of allowed states range
374 * Return value: preferred power state of the device on success, -ENODEV on 374 * Return value: preferred power state of the device on success, -ENODEV on
375 * failure (ie. if there's no 'struct acpi_device' for @dev) 375 * failure (ie. if there's no 'struct acpi_device' for @dev)
@@ -387,7 +387,7 @@ int acpi_suspend(u32 acpi_state)
387 * via @wake. 387 * via @wake.
388 */ 388 */
389 389
390int acpi_pm_device_sleep_state(struct device *dev, int wake, int *d_min_p) 390int acpi_pm_device_sleep_state(struct device *dev, int *d_min_p)
391{ 391{
392 acpi_handle handle = DEVICE_ACPI_HANDLE(dev); 392 acpi_handle handle = DEVICE_ACPI_HANDLE(dev);
393 struct acpi_device *adev; 393 struct acpi_device *adev;
@@ -426,7 +426,7 @@ int acpi_pm_device_sleep_state(struct device *dev, int wake, int *d_min_p)
426 * can wake the system. _S0W may be valid, too. 426 * can wake the system. _S0W may be valid, too.
427 */ 427 */
428 if (acpi_target_sleep_state == ACPI_STATE_S0 || 428 if (acpi_target_sleep_state == ACPI_STATE_S0 ||
429 (wake && adev->wakeup.state.enabled && 429 (device_may_wakeup(dev) && adev->wakeup.state.enabled &&
430 adev->wakeup.sleep_state <= acpi_target_sleep_state)) { 430 adev->wakeup.sleep_state <= acpi_target_sleep_state)) {
431 acpi_status status; 431 acpi_status status;
432 432
diff --git a/drivers/pci/pci-acpi.c b/drivers/pci/pci-acpi.c
index 9d6fc8e6285..caabf0573c3 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 50902773bea..c1b9ea34977 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;