summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2012-06-27 23:25:49 +0200
committerRafael J. Wysocki <rjw@sisk.pl>2012-07-01 13:30:58 +0200
commit707156e600dbfd89e129239ee1d1d934cbe2119c (patch)
treebc58e3f8c1be64c947f0f51bddb970f3ab423ac4
parentACPI / PM: Drop pm_message_t argument from device suspend callback (diff)
downloadlinux-707156e600dbfd89e129239ee1d1d934cbe2119c.tar.xz
linux-707156e600dbfd89e129239ee1d1d934cbe2119c.zip
ACPI / PM: Make acpi_bus_type use struct dev_pm_ops for PM handling
Make the acpi_bus_type bus type define its PM callbacks through a struct dev_pm_ops object rather than by using legacy PM hooks in struct bus_type. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
-rw-r--r--drivers/acpi/scan.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/drivers/acpi/scan.c b/drivers/acpi/scan.c
index ec65ec9c529f..7c37be53334d 100644
--- a/drivers/acpi/scan.c
+++ b/drivers/acpi/scan.c
@@ -290,7 +290,7 @@ static void acpi_device_release(struct device *dev)
kfree(acpi_dev);
}
-static int acpi_device_suspend(struct device *dev, pm_message_t state)
+static int acpi_device_suspend(struct device *dev)
{
struct acpi_device *acpi_dev = to_acpi_device(dev);
struct acpi_driver *acpi_drv = acpi_dev->driver;
@@ -310,6 +310,8 @@ static int acpi_device_resume(struct device *dev)
return 0;
}
+static SIMPLE_DEV_PM_OPS(acpi_bus_pm, acpi_device_suspend, acpi_device_resume);
+
static int acpi_bus_match(struct device *dev, struct device_driver *drv)
{
struct acpi_device *acpi_dev = to_acpi_device(dev);
@@ -441,12 +443,11 @@ static int acpi_device_remove(struct device * dev)
struct bus_type acpi_bus_type = {
.name = "acpi",
- .suspend = acpi_device_suspend,
- .resume = acpi_device_resume,
.match = acpi_bus_match,
.probe = acpi_device_probe,
.remove = acpi_device_remove,
.uevent = acpi_device_uevent,
+ .pm = &acpi_bus_pm,
};
static int acpi_device_register(struct acpi_device *device)