Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 345f79b3 authored by Kevin Hilman's avatar Kevin Hilman
Browse files

OMAP: PM: omap_device: fix device power domain callbacks



After commit 4d27e9dc (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: default avatarKevin Hilman <khilman@ti.com>
parent c8fb13d0
Loading
Loading
Loading
Loading
+17 −2
Original line number Original line Diff line number Diff line
@@ -84,6 +84,7 @@
#include <linux/io.h>
#include <linux/io.h>
#include <linux/clk.h>
#include <linux/clk.h>
#include <linux/clkdev.h>
#include <linux/clkdev.h>
#include <linux/pm_runtime.h>


#include <plat/omap_device.h>
#include <plat/omap_device.h>
#include <plat/omap_hwmod.h>
#include <plat/omap_hwmod.h>
@@ -539,20 +540,34 @@ int omap_early_device_register(struct omap_device *od)
static int _od_runtime_suspend(struct device *dev)
static int _od_runtime_suspend(struct device *dev)
{
{
	struct platform_device *pdev = to_platform_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)
static int _od_runtime_resume(struct device *dev)
{
{
	struct platform_device *pdev = to_platform_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 = {
static struct dev_power_domain omap_device_power_domain = {
	.ops = {
	.ops = {
		.runtime_suspend = _od_runtime_suspend,
		.runtime_suspend = _od_runtime_suspend,
		.runtime_idle = _od_runtime_idle,
		.runtime_resume = _od_runtime_resume,
		.runtime_resume = _od_runtime_resume,
		USE_PLATFORM_PM_SLEEP_OPS
		USE_PLATFORM_PM_SLEEP_OPS
	}
	}