ACPI / LPSS: Power up LPSS devices during enumeration
authorRafael J. Wysocki <rafael.j.wysocki@intel.com>
Tue, 18 Jun 2013 22:45:34 +0000 (00:45 +0200)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Wed, 19 Jun 2013 22:49:06 +0000 (00:49 +0200)
commitb9e95fc65ededbec083aa91b4faa58ad992c0891
tree9f2b2867d14e6ad7b6a3cef1a2a776518ae83517
parent6ee22e9d59151550a55d370b14109bdae8b58bda
ACPI / LPSS: Power up LPSS devices during enumeration

Commit 7cd8407 (ACPI / PM: Do not execute _PS0 for devices without
_PSC during initialization) introduced a regression on some systems
with Intel Lynxpoint Low-Power Subsystem (LPSS) where some devices
need to be powered up during initialization, but their device objects
in the ACPI namespace have _PS0 and _PS3 only (without _PSC or power
resources).

To work around this problem, make the ACPI LPSS driver power up
devices it knows about by using a new helper function
acpi_device_fix_up_power() that does all of the necessary
sanity checks and calls acpi_dev_pm_explicit_set() to put the
device into D0.

Reported-and-tested-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/acpi/acpi_lpss.c
drivers/acpi/device_pm.c
include/acpi/acpi_bus.h