On Wed, Sep 7, 2011 at 5:23 AM, Kevin Hilman <khilman@xxxxxx> wrote: > Tarun Kanti DebBarma <tarun.kanti@xxxxxx> writes: > >> Cleanup omap2_gpio_prepare_for_idle() and omap2_gpio_resume_after_idle() >> by moving most of the stuff to *_runtime_suspend() and *_runtime_resume(). > > Why? > > (I know the answer, but it should be in the changelog.) Ok. > >> Signed-off-by: Tarun Kanti DebBarma <tarun.kanti@xxxxxx> >> Signed-off-by: Charulatha V <charu@xxxxxx> >> Reviewed-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> > > Also, as pointed out in an earlier patch, now that this is moved out of > the idle path, where interrupts were known to be disabled, the register > accesses in the runtime PM callbacks need to be protected by the > spinlock just like they are in other parts of the driver. Ok. > > [...] > >> @@ -1305,9 +1316,14 @@ static void omap_gpio_restore_context(struct gpio_bank *bank) >> bank->base + bank->regs->fallingdetect); >> __raw_writel(bank->context.dataout, bank->base + bank->regs->dataout); >> } >> +#else >> +#define omap_gpio_runtime_suspend NULL >> +#define omap_gpio_runtime_resume NULL >> #endif >> >> static const struct dev_pm_ops gpio_pm_ops = { >> + .runtime_suspend = omap_gpio_runtime_suspend, >> + .runtime_resume = omap_gpio_runtime_resume, > > Please use SET_RUNTIME_PM_OPS() (see <linux/pm.h.) Sure. > >> .suspend = omap_gpio_suspend, >> .resume = omap_gpio_resume, >> }; > > Kevin > -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html