Commit ef69a7f0 authored by Jingoo Han's avatar Jingoo Han Committed by Linus Torvalds

rtc: rtc-stmp3xxx: convert stmp3xxx_rtcdrv to dev_pm_ops

Instead of using legacy suspend/resume methods, using newer dev_pm_ops
structure allows better control over power management.
Signed-off-by: default avatarJingoo Han <jg1.han@samsung.com>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
parent b086e392
...@@ -297,15 +297,15 @@ static int stmp3xxx_rtc_probe(struct platform_device *pdev) ...@@ -297,15 +297,15 @@ static int stmp3xxx_rtc_probe(struct platform_device *pdev)
return err; return err;
} }
#ifdef CONFIG_PM #ifdef CONFIG_PM_SLEEP
static int stmp3xxx_rtc_suspend(struct platform_device *dev, pm_message_t state) static int stmp3xxx_rtc_suspend(struct device *dev)
{ {
return 0; return 0;
} }
static int stmp3xxx_rtc_resume(struct platform_device *dev) static int stmp3xxx_rtc_resume(struct device *dev)
{ {
struct stmp3xxx_rtc_data *rtc_data = platform_get_drvdata(dev); struct stmp3xxx_rtc_data *rtc_data = dev_get_drvdata(dev);
mxs_reset_block(rtc_data->io); mxs_reset_block(rtc_data->io);
writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN | writel(STMP3XXX_RTC_PERSISTENT0_ALARM_EN |
...@@ -314,11 +314,11 @@ static int stmp3xxx_rtc_resume(struct platform_device *dev) ...@@ -314,11 +314,11 @@ static int stmp3xxx_rtc_resume(struct platform_device *dev)
rtc_data->io + STMP3XXX_RTC_PERSISTENT0_CLR); rtc_data->io + STMP3XXX_RTC_PERSISTENT0_CLR);
return 0; return 0;
} }
#else
#define stmp3xxx_rtc_suspend NULL
#define stmp3xxx_rtc_resume NULL
#endif #endif
static SIMPLE_DEV_PM_OPS(stmp3xxx_rtc_pm_ops, stmp3xxx_rtc_suspend,
stmp3xxx_rtc_resume);
static const struct of_device_id rtc_dt_ids[] = { static const struct of_device_id rtc_dt_ids[] = {
{ .compatible = "fsl,stmp3xxx-rtc", }, { .compatible = "fsl,stmp3xxx-rtc", },
{ /* sentinel */ } { /* sentinel */ }
...@@ -328,11 +328,10 @@ MODULE_DEVICE_TABLE(of, rtc_dt_ids); ...@@ -328,11 +328,10 @@ MODULE_DEVICE_TABLE(of, rtc_dt_ids);
static struct platform_driver stmp3xxx_rtcdrv = { static struct platform_driver stmp3xxx_rtcdrv = {
.probe = stmp3xxx_rtc_probe, .probe = stmp3xxx_rtc_probe,
.remove = stmp3xxx_rtc_remove, .remove = stmp3xxx_rtc_remove,
.suspend = stmp3xxx_rtc_suspend,
.resume = stmp3xxx_rtc_resume,
.driver = { .driver = {
.name = "stmp3xxx-rtc", .name = "stmp3xxx-rtc",
.owner = THIS_MODULE, .owner = THIS_MODULE,
.pm = &stmp3xxx_rtc_pm_ops,
.of_match_table = of_match_ptr(rtc_dt_ids), .of_match_table = of_match_ptr(rtc_dt_ids),
}, },
}; };
......
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