Commit 08cd6753 authored by Rafael J. Wysocki's avatar Rafael J. Wysocki Committed by Guenter Roeck

hwmon: (exynos4_tmu) Use struct dev_pm_ops for power management

Make the Exynos4 TMU driver define its PM callbacks through
a struct dev_pm_ops object rather than by using legacy PM hooks
in struct platform_driver.
Signed-off-by: default avatarRafael J. Wysocki <rjw@sisk.pl>
[linux@roeck-us.net: CONFIG_PM->CONFIG_PM_SLEEP, and remove unnecessary ()]
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 6d20a6c0
...@@ -475,35 +475,39 @@ static int __devexit exynos4_tmu_remove(struct platform_device *pdev) ...@@ -475,35 +475,39 @@ static int __devexit exynos4_tmu_remove(struct platform_device *pdev)
return 0; return 0;
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM_SLEEP
static int exynos4_tmu_suspend(struct platform_device *pdev, pm_message_t state) static int exynos4_tmu_suspend(struct device *dev)
{ {
exynos4_tmu_control(pdev, false); exynos4_tmu_control(to_platform_device(dev), false);
return 0; return 0;
} }
static int exynos4_tmu_resume(struct platform_device *pdev) static int exynos4_tmu_resume(struct device *dev)
{ {
struct platform_device *pdev = to_platform_device(dev);
exynos4_tmu_initialize(pdev); exynos4_tmu_initialize(pdev);
exynos4_tmu_control(pdev, true); exynos4_tmu_control(pdev, true);
return 0; return 0;
} }
static SIMPLE_DEV_PM_OPS(exynos4_tmu_pm,
exynos4_tmu_suspend, exynos4_tmu_resume);
#define EXYNOS4_TMU_PM &exynos4_tmu_pm
#else #else
#define exynos4_tmu_suspend NULL #define EXYNOS4_TMU_PM NULL
#define exynos4_tmu_resume NULL
#endif #endif
static struct platform_driver exynos4_tmu_driver = { static struct platform_driver exynos4_tmu_driver = {
.driver = { .driver = {
.name = "exynos4-tmu", .name = "exynos4-tmu",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = EXYNOS4_TMU_PM,
}, },
.probe = exynos4_tmu_probe, .probe = exynos4_tmu_probe,
.remove = __devexit_p(exynos4_tmu_remove), .remove = __devexit_p(exynos4_tmu_remove),
.suspend = exynos4_tmu_suspend,
.resume = exynos4_tmu_resume,
}; };
module_platform_driver(exynos4_tmu_driver); module_platform_driver(exynos4_tmu_driver);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment