Skip to content

Commit

Permalink
OMAP: PM: omap_device: fix device power domain callbacks
Browse files Browse the repository at this point in the history
After commit 4d27e9d (PM: Make power
domain callbacks take precedence over subsystem ones), the power
domain callbacks need to call the driver callbacks instead of relying
on the default subsystem (in this case, platform_bus) to handle the
driver callbacks.

Validated on 3430/n900, 3530/Overo.

Signed-off-by: Kevin Hilman <khilman@ti.com>
  • Loading branch information
Kevin Hilman committed Jun 6, 2011
1 parent c8fb13d commit 345f79b
Showing 1 changed file with 17 additions and 2 deletions.
19 changes: 17 additions & 2 deletions arch/arm/plat-omap/omap_device.c
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/clkdev.h>
#include <linux/pm_runtime.h>

#include <plat/omap_device.h>
#include <plat/omap_hwmod.h>
Expand Down Expand Up @@ -539,20 +540,34 @@ int omap_early_device_register(struct omap_device *od)
static int _od_runtime_suspend(struct device *dev)
{
struct platform_device *pdev = to_platform_device(dev);
int ret;

ret = pm_generic_runtime_suspend(dev);

if (!ret)
omap_device_idle(pdev);

return ret;
}

return omap_device_idle(pdev);
static int _od_runtime_idle(struct device *dev)
{
return pm_generic_runtime_idle(dev);
}

static int _od_runtime_resume(struct device *dev)
{
struct platform_device *pdev = to_platform_device(dev);

return omap_device_enable(pdev);
omap_device_enable(pdev);

return pm_generic_runtime_resume(dev);
}

static struct dev_power_domain omap_device_power_domain = {
.ops = {
.runtime_suspend = _od_runtime_suspend,
.runtime_idle = _od_runtime_idle,
.runtime_resume = _od_runtime_resume,
USE_PLATFORM_PM_SLEEP_OPS
}
Expand Down

0 comments on commit 345f79b

Please sign in to comment.