Message ID | 1362991468-30226-3-git-send-email-ldewangan@nvidia.com |
---|---|
State | Superseded |
Headers | show |
On Mon, Mar 11, 2013 at 02:14:25PM +0530, Laxman Dewangan wrote: [...] > diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c [...] > @@ -431,6 +430,8 @@ static int tegra_rtc_resume(struct platform_device *pdev) > } > #endif > > +SIMPLE_DEV_PM_OPS(tegra_rtc_pm_ops, tegra_rtc_suspend, tegra_rtc_resume); I should've been more explicit. Since you had this marked as static in the previous patch, this needs to be static SIMPLE_DEV_PM_OPS. With that change, Reviewed-by: Thierry Reding <thierry.reding@avionic-design.de>
On Monday 11 March 2013 02:21 PM, Thierry Reding wrote: > * PGP Signed by an unknown key > > On Mon, Mar 11, 2013 at 02:14:25PM +0530, Laxman Dewangan wrote: > [...] >> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c > [...] >> @@ -431,6 +430,8 @@ static int tegra_rtc_resume(struct platform_device *pdev) >> } >> #endif >> >> +SIMPLE_DEV_PM_OPS(tegra_rtc_pm_ops, tegra_rtc_suspend, tegra_rtc_resume); > I should've been more explicit. Since you had this marked as static in > the previous patch, this needs to be static SIMPLE_DEV_PM_OPS. Yaah, I should keep the static. I think I will need to respin this patch only in place of whole series. Andrew, Let me know if this is fine. Thanks, Laxman
On 03/11/2013 02:56 AM, Laxman Dewangan wrote: > On Monday 11 March 2013 02:21 PM, Thierry Reding wrote: >> * PGP Signed by an unknown key >> >> On Mon, Mar 11, 2013 at 02:14:25PM +0530, Laxman Dewangan wrote: >> [...] >>> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c >> [...] >>> @@ -431,6 +430,8 @@ static int tegra_rtc_resume(struct >>> platform_device *pdev) >>> } >>> #endif >>> +SIMPLE_DEV_PM_OPS(tegra_rtc_pm_ops, tegra_rtc_suspend, >>> tegra_rtc_resume); >> I should've been more explicit. Since you had this marked as static in >> the previous patch, this needs to be static SIMPLE_DEV_PM_OPS. > Yaah, I should keep the static. > > I think I will need to respin this patch only in place of whole series. > > Andrew, > > Let me know if this is fine. In general, it's much easier if you repost a whole series. Otherwise, you make the maintainer manually piece together the series from bits of V2 and bits of V3, which is harder than just grabbing all of V3.
On Monday 11 March 2013 10:48 PM, Stephen Warren wrote: > On 03/11/2013 02:56 AM, Laxman Dewangan wrote: >> On Monday 11 March 2013 02:21 PM, Thierry Reding wrote: >>> * PGP Signed by an unknown key >>> >>> On Mon, Mar 11, 2013 at 02:14:25PM +0530, Laxman Dewangan wrote: >>> [...] >>>> diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c >>> [...] >>>> @@ -431,6 +430,8 @@ static int tegra_rtc_resume(struct >>>> platform_device *pdev) >>>> } >>>> #endif >>>> +SIMPLE_DEV_PM_OPS(tegra_rtc_pm_ops, tegra_rtc_suspend, >>>> tegra_rtc_resume); >>> I should've been more explicit. Since you had this marked as static in >>> the previous patch, this needs to be static SIMPLE_DEV_PM_OPS. >> Yaah, I should keep the static. >> >> I think I will need to respin this patch only in place of whole series. >> >> Andrew, >> >> Let me know if this is fine. > In general, it's much easier if you repost a whole series. Otherwise, > you make the maintainer manually piece together the series from bits of > V2 and bits of V3, which is harder than just grabbing all of V3. yaah, this will be easy. I will respin 3rd version. Thanks, Laxman
diff --git a/drivers/rtc/rtc-tegra.c b/drivers/rtc/rtc-tegra.c index d64cde6..6373eb7 100644 --- a/drivers/rtc/rtc-tegra.c +++ b/drivers/rtc/rtc-tegra.c @@ -26,6 +26,7 @@ #include <linux/delay.h> #include <linux/rtc.h> #include <linux/platform_device.h> +#include <linux/pm.h> /* set to 1 = busy every eight 32kHz clocks during copy of sec+msec to AHB */ #define TEGRA_RTC_REG_BUSY 0x004 @@ -391,10 +392,9 @@ static int __exit tegra_rtc_remove(struct platform_device *pdev) } #ifdef CONFIG_PM_SLEEP -static int tegra_rtc_suspend(struct platform_device *pdev, pm_message_t state) +static int tegra_rtc_suspend(struct device *dev) { - struct device *dev = &pdev->dev; - struct tegra_rtc_info *info = platform_get_drvdata(pdev); + struct tegra_rtc_info *info = dev_get_drvdata(dev); tegra_rtc_wait_while_busy(dev); @@ -416,10 +416,9 @@ static int tegra_rtc_suspend(struct platform_device *pdev, pm_message_t state) return 0; } -static int tegra_rtc_resume(struct platform_device *pdev) +static int tegra_rtc_resume(struct device *dev) { - struct device *dev = &pdev->dev; - struct tegra_rtc_info *info = platform_get_drvdata(pdev); + struct tegra_rtc_info *info = dev_get_drvdata(dev); dev_vdbg(dev, "Resume (device_may_wakeup=%d)\n", device_may_wakeup(dev)); @@ -431,6 +430,8 @@ static int tegra_rtc_resume(struct platform_device *pdev) } #endif +SIMPLE_DEV_PM_OPS(tegra_rtc_pm_ops, tegra_rtc_suspend, tegra_rtc_resume); + static void tegra_rtc_shutdown(struct platform_device *pdev) { dev_vdbg(&pdev->dev, "disabling interrupts.\n"); @@ -445,11 +446,8 @@ static struct platform_driver tegra_rtc_driver = { .name = "tegra_rtc", .owner = THIS_MODULE, .of_match_table = tegra_rtc_dt_match, + .pm = &tegra_rtc_pm_ops, }, -#ifdef CONFIG_PM_SLEEP - .suspend = tegra_rtc_suspend, - .resume = tegra_rtc_resume, -#endif }; static int __init tegra_rtc_init(void)
Make the Tegra RTC controller 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: Laxman Dewangan <ldewangan@nvidia.com> --- Changes from V1: - Use SIMPLE_DEV_PM_OPS drivers/rtc/rtc-tegra.c | 18 ++++++++---------- 1 files changed, 8 insertions(+), 10 deletions(-)