The patch titled Subject: drivers/rtc/rtc-tps65910.c: remove unnecessary irq stat save and restore has been added to the -mm tree. Its filename is drivers-rtc-rtc-tps65910c-remove-unnecessary-irq-stat-save-and-restore.patch Before you just go and hit "reply", please: a) Consider who else should be cc'ed b) Prefer to cc a suitable mailing list as well c) Ideally: find the original patch on the mailing list and do a reply-to-all to that, adding suitable additional cc's *** Remember to use Documentation/SubmitChecklist when testing your code *** The -mm tree is included into linux-next and is updated there every 3-4 working days ------------------------------------------------------ From: Laxman Dewangan <ldewangan@xxxxxxxxxx> Subject: drivers/rtc/rtc-tps65910.c: remove unnecessary irq stat save and restore The driver stores the interrupt enable register before going to suspend and restore in resume. Also it enables alarm before going to suspend. The driver only write the Interrupt enable register for enabling ALARM and does not enable any other bits. So it is not require to save complete register and enable ALARM interrupt before suspend and restore in resume. Also ALARM interrupt already enable if alarm is enabled before going to suspend and hence it is not require to enable explictly in suspend. Removing such above code. Signed-off-by: Laxman Dewangan <ldewangan@xxxxxxxxxx> Cc: Mark Brown <broonie@xxxxxxxxxxxxxxxxxxxxxxxxxxx> Signed-off-by: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx> --- drivers/rtc/rtc-tps65910.c | 21 ++------------------- 1 file changed, 2 insertions(+), 19 deletions(-) diff -puN drivers/rtc/rtc-tps65910.c~drivers-rtc-rtc-tps65910c-remove-unnecessary-irq-stat-save-and-restore drivers/rtc/rtc-tps65910.c --- a/drivers/rtc/rtc-tps65910.c~drivers-rtc-rtc-tps65910c-remove-unnecessary-irq-stat-save-and-restore +++ a/drivers/rtc/rtc-tps65910.c @@ -28,8 +28,6 @@ struct tps65910_rtc { struct rtc_device *rtc; int irq; - /* To store the list of enabled interrupts */ - u32 irqstat; }; /* Total number of RTC registers needed to set time*/ @@ -309,35 +307,20 @@ static int tps65910_rtc_remove(struct pl static int tps65910_rtc_suspend(struct device *dev) { - struct tps65910 *tps = dev_get_drvdata(dev->parent); struct tps65910_rtc *tps_rtc = dev_get_drvdata(dev); - u8 alarm = TPS65910_RTC_INTERRUPTS_IT_ALARM; - int ret; if (device_may_wakeup(dev)) enable_irq_wake(tps_rtc->irq); - - /* Store current list of enabled interrupts*/ - ret = regmap_read(tps->regmap, TPS65910_RTC_INTERRUPTS, - &tps->rtc->irqstat); - if (ret < 0) - return ret; - - /* Enable RTC ALARM interrupt only */ - return regmap_write(tps->regmap, TPS65910_RTC_INTERRUPTS, alarm); + return 0; } static int tps65910_rtc_resume(struct device *dev) { - struct tps65910 *tps = dev_get_drvdata(dev->parent); struct tps65910_rtc *tps_rtc = dev_get_drvdata(dev); if (device_may_wakeup(dev)) disable_irq_wake(tps_rtc->irq); - - /* Restore list of enabled interrupts before suspend */ - return regmap_write(tps->regmap, TPS65910_RTC_INTERRUPTS, - tps->rtc->irqstat); + return 0; } static const struct dev_pm_ops tps65910_rtc_pm_ops = { _ Patches currently in -mm which might be from ldewangan@xxxxxxxxxx are origin.patch linux-next.patch rtc-add-rtc-driver-for-tps80031-tps80032.patch rtc-add-rtc-driver-for-tps80031-tps80032-v2.patch rtc-add-rtc-driver-for-tps80031-tps80032-v2-fix.patch drivers-rtc-rtc-tps65910c-enable-disable-wake-in-suspend-resume.patch drivers-rtc-rtc-tps65910c-remove-unnecessary-irq-stat-save-and-restore.patch drivers-rtc-rtc-tps65910c-use-sleep_pm_ops-macro-for-initialising-suspend-resume-callbacks.patch drivers-rtc-rtc-tps65910c-set-irq-flag-to-irqf_early_resume-during-irq-request.patch -- To unsubscribe from this list: send the line "unsubscribe mm-commits" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html