Message ID | 1370015872-3560-1-git-send-email-shuah.kh@samsung.com |
---|---|
State | Superseded |
Headers | show |
On 05/31/2013 09:58 AM, Shuah Khan wrote: > Convert drivers/rtc/class to use dev_pm_ops for power management and > remove Legacy PM ops hooks. With this change, rtc class registers > suspend/resume callbacks via class->pm (dev_pm_ops) instead of Legacy > class->suspend/resume. When __device_suspend() runs call-backs, it will > find class->pm ops for the rtc class. > > Signed-off-by: Shuah Khan <shuah.kh@samsung.com> > --- > drivers/rtc/class.c | 7 +++---- > 1 file changed, 3 insertions(+), 4 deletions(-) > > diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c > index 6638540..21d83ec 100644 > --- a/drivers/rtc/class.c > +++ b/drivers/rtc/class.c > @@ -135,9 +135,9 @@ static int rtc_resume(struct device *dev) > return 0; > } > > +static SIMPLE_DEV_PM_OPS(rtc_class_dev_pm_ops, rtc_suspend, rtc_resume); > #else > -#define rtc_suspend NULL > -#define rtc_resume NULL > +#define rtc_class_dev_pm_ops NULL > #endif > > > @@ -336,8 +336,7 @@ static int __init rtc_init(void) > pr_err("couldn't create class\n"); > return PTR_ERR(rtc_class); > } > - rtc_class->suspend = rtc_suspend; > - rtc_class->resume = rtc_resume; > + rtc_class->pm = &rtc_class_dev_pm_ops; > rtc_dev_init(); > rtc_sysfs_init(rtc_class); > return 0; > oops. I noticed a build warning rtc_suspend() drivers/rtc/class.c:138:8: warning: initialization from incompatible pointer type [enabled by default] drivers/rtc/class.c:138:8: warning: (near initialization for ‘rtc_class_dev_pm_ops.suspend’) [enabled by default] Please ignore this version. I will re-send v2 with the correct one. I missed removing the extra pm_message_t mesg on rtc_suspend(). -- Shuah Shuah Khan, Linux Kernel Developer - Open Source Group Samsung Research America (Silicon Valley) shuah.kh@samsung.com | (970) 672-0658
diff --git a/drivers/rtc/class.c b/drivers/rtc/class.c index 6638540..21d83ec 100644 --- a/drivers/rtc/class.c +++ b/drivers/rtc/class.c @@ -135,9 +135,9 @@ static int rtc_resume(struct device *dev) return 0; } +static SIMPLE_DEV_PM_OPS(rtc_class_dev_pm_ops, rtc_suspend, rtc_resume); #else -#define rtc_suspend NULL -#define rtc_resume NULL +#define rtc_class_dev_pm_ops NULL #endif @@ -336,8 +336,7 @@ static int __init rtc_init(void) pr_err("couldn't create class\n"); return PTR_ERR(rtc_class); } - rtc_class->suspend = rtc_suspend; - rtc_class->resume = rtc_resume; + rtc_class->pm = &rtc_class_dev_pm_ops; rtc_dev_init(); rtc_sysfs_init(rtc_class); return 0;
Convert drivers/rtc/class to use dev_pm_ops for power management and remove Legacy PM ops hooks. With this change, rtc class registers suspend/resume callbacks via class->pm (dev_pm_ops) instead of Legacy class->suspend/resume. When __device_suspend() runs call-backs, it will find class->pm ops for the rtc class. Signed-off-by: Shuah Khan <shuah.kh@samsung.com> --- drivers/rtc/class.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-)