Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 336632
b: refs/heads/master
c: 94d76d5
h: refs/heads/master
v: v3
  • Loading branch information
Rafael J. Wysocki committed Nov 27, 2012
1 parent b962780 commit a3e87f9
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 3 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 45c36462aef0cccadb7755ea4edc78d13334a2be
refs/heads/master: 94d76d5de38d7502c3e78fcd6bf50da95e3e0361
19 changes: 17 additions & 2 deletions trunk/drivers/base/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -484,8 +484,16 @@ static int platform_drv_probe(struct device *_dev)
{
struct platform_driver *drv = to_platform_driver(_dev->driver);
struct platform_device *dev = to_platform_device(_dev);
int ret;

return drv->probe(dev);
if (ACPI_HANDLE(_dev))
acpi_dev_pm_attach(_dev, true);

ret = drv->probe(dev);
if (ret && ACPI_HANDLE(_dev))
acpi_dev_pm_detach(_dev, true);

return ret;
}

static int platform_drv_probe_fail(struct device *_dev)
Expand All @@ -497,8 +505,13 @@ static int platform_drv_remove(struct device *_dev)
{
struct platform_driver *drv = to_platform_driver(_dev->driver);
struct platform_device *dev = to_platform_device(_dev);
int ret;

return drv->remove(dev);
ret = drv->remove(dev);
if (ACPI_HANDLE(_dev))
acpi_dev_pm_detach(_dev, true);

return ret;
}

static void platform_drv_shutdown(struct device *_dev)
Expand All @@ -507,6 +520,8 @@ static void platform_drv_shutdown(struct device *_dev)
struct platform_device *dev = to_platform_device(_dev);

drv->shutdown(dev);
if (ACPI_HANDLE(_dev))
acpi_dev_pm_detach(_dev, true);
}

/**
Expand Down

0 comments on commit a3e87f9

Please sign in to comment.