[PATCH 2/2] mtd: pxa3xx_nand: switch to device PM

Ezequiel Garcia ezequiel at vanguardiasur.com.ar
Fri Oct 16 08:24:17 PDT 2015


On 15 Oct 03:32 PM, Ezequiel Garcia wrote:
> +Robert
> 
> On 12 October 2015 at 18:07, Brian Norris <computersforpeace at gmail.com> wrote:
> > On Mon, Oct 12, 2015 at 01:33:12PM -0700, Brian Norris wrote:
> >> The old PM model is deprecated. This is equivalent.
> >>
> >> Signed-off-by: Brian Norris <computersforpeace at gmail.com>
> >
> > Sorry, this patch was garbage. Below is the correct one:
> >

Tested on Armada XP-GP using standby and checking nandtest
continues to work after a resume.

Tested-by: Ezequiel Garcia <ezequiel at vanguardiasur.com.ar>

Patch looks good, so:

Acked-by: Ezequiel Garcia <ezequiel at vanguardiasur.com.ar>

Thanks!

> > ---
> >
> > Signed-off-by: Brian Norris <computersforpeace at gmail.com>
> > ---
> >  drivers/mtd/nand/pxa3xx_nand.c | 18 +++++++++++-------
> >  1 file changed, 11 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> > index cce5a32eef60..51b67ae5ac1c 100644
> > --- a/drivers/mtd/nand/pxa3xx_nand.c
> > +++ b/drivers/mtd/nand/pxa3xx_nand.c
> > @@ -1889,21 +1889,21 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
> >  }
> >
> >  #ifdef CONFIG_PM
> > -static int pxa3xx_nand_suspend(struct platform_device *pdev, pm_message_t state)
> > +static int pxa3xx_nand_suspend(struct device *dev)
> >  {
> > -       struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> > +       struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
> >
> >         if (info->state) {
> > -               dev_err(&pdev->dev, "driver busy, state = %d\n", info->state);
> > +               dev_err(dev, "driver busy, state = %d\n", info->state);
> >                 return -EAGAIN;
> >         }
> >
> >         return 0;
> >  }
> >
> > -static int pxa3xx_nand_resume(struct platform_device *pdev)
> > +static int pxa3xx_nand_resume(struct device *dev)
> >  {
> > -       struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> > +       struct pxa3xx_nand_info *info = dev_get_drvdata(dev);
> >
> >         /* We don't want to handle interrupt without calling mtd routine */
> >         disable_int(info, NDCR_INT_MASK);
> > @@ -1930,15 +1930,19 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
> >  #define pxa3xx_nand_resume     NULL
> >  #endif
> >
> > +static const struct dev_pm_ops pxa3xx_nand_pm_ops = {
> > +       .suspend        = pxa3xx_nand_suspend,
> > +       .resume         = pxa3xx_nand_resume,
> > +};
> > +
> >  static struct platform_driver pxa3xx_nand_driver = {
> >         .driver = {
> >                 .name   = "pxa3xx-nand",
> >                 .of_match_table = pxa3xx_nand_dt_ids,
> > +               .pm     = &pxa3xx_nand_pm_ops,
> >         },
> >         .probe          = pxa3xx_nand_probe,
> >         .remove         = pxa3xx_nand_remove,
> > -       .suspend        = pxa3xx_nand_suspend,
> > -       .resume         = pxa3xx_nand_resume,
> >  };
> >
> >  module_platform_driver(pxa3xx_nand_driver);
> > --
> > 2.6.0.rc2.230.g3dd15c0
> >
> >
> > ______________________________________________________
> > Linux MTD discussion mailing list
> > http://lists.infradead.org/mailman/listinfo/linux-mtd/
> 
> 
> 
> -- 
> Ezequiel García, VanguardiaSur
> www.vanguardiasur.com.ar

-- 
Ezequiel Garcia, VanguardiaSur
www.vanguardiasur.com.ar



More information about the linux-mtd mailing list