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 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;
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;