aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/acpi/sleep/main.c8
-rw-r--r--drivers/pci/pci-acpi.c3
-rw-r--r--drivers/pnp/pnpacpi/core.c4
-rw-r--r--include/acpi/acpi_bus.h4
4 files changed, 8 insertions, 11 deletions
diff --git a/drivers/acpi/sleep/main.c b/drivers/acpi/sleep/main.c
index 495c63a3e0af..b45806d77288 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 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;
diff --git a/include/acpi/acpi_bus.h b/include/acpi/acpi_bus.h
index 2f1c68c7a727..db90a74f8714 100644
--- a/include/acpi/acpi_bus.h
+++ b/include/acpi/acpi_bus.h
@@ -376,9 +376,9 @@ acpi_handle acpi_get_pci_rootbridge_handle(unsigned int, unsigned int);
376#define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)((dev)->archdata.acpi_handle)) 376#define DEVICE_ACPI_HANDLE(dev) ((acpi_handle)((dev)->archdata.acpi_handle))
377 377
378#ifdef CONFIG_PM_SLEEP 378#ifdef CONFIG_PM_SLEEP
379int acpi_pm_device_sleep_state(struct device *, int, int *); 379int acpi_pm_device_sleep_state(struct device *, int *);
380#else /* !CONFIG_PM_SLEEP */ 380#else /* !CONFIG_PM_SLEEP */
381static inline int acpi_pm_device_sleep_state(struct device *d, int w, int *p) 381static inline int acpi_pm_device_sleep_state(struct device *d, int *p)
382{ 382{
383 if (p) 383 if (p)
384 *p = ACPI_STATE_D0; 384 *p = ACPI_STATE_D0;