[PATCH 1/2] mtd: pxa3xx_nand: don't duplicate MTD suspend/resume
Ezequiel Garcia
ezequiel at vanguardiasur.com.ar
Thu Oct 15 11:33:48 PDT 2015
Robert:
Can you test this on a platform with PM support, and make sure
the NAND works fine after a resume?
On 12 October 2015 at 17:33, Brian Norris <computersforpeace at gmail.com> wrote:
> mtd_{suspend,resume}() get called from mtdcore in a class suspend/resume
> callback. We don't need to call them again here. In practice, this would
> actually work OK, as nand_base actually handles nesting OK -- it just
> might print warnings.
>
> Untested, but there are few (no?) users of PM for this driver AFAIK.
>
> Signed-off-by: Brian Norris <computersforpeace at gmail.com>
> ---
> drivers/mtd/nand/pxa3xx_nand.c | 17 -----------------
> 1 file changed, 17 deletions(-)
>
> diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
> index 232c7074624a..cce5a32eef60 100644
> --- a/drivers/mtd/nand/pxa3xx_nand.c
> +++ b/drivers/mtd/nand/pxa3xx_nand.c
> @@ -1892,32 +1892,19 @@ static int pxa3xx_nand_probe(struct platform_device *pdev)
> static int pxa3xx_nand_suspend(struct platform_device *pdev, pm_message_t state)
> {
> struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> - struct pxa3xx_nand_platform_data *pdata;
> - struct mtd_info *mtd;
> - int cs;
>
> - pdata = dev_get_platdata(&pdev->dev);
> if (info->state) {
> dev_err(&pdev->dev, "driver busy, state = %d\n", info->state);
> return -EAGAIN;
> }
>
> - for (cs = 0; cs < pdata->num_cs; cs++) {
> - mtd = info->host[cs]->mtd;
> - mtd_suspend(mtd);
> - }
> -
> return 0;
> }
>
> static int pxa3xx_nand_resume(struct platform_device *pdev)
> {
> struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> - struct pxa3xx_nand_platform_data *pdata;
> - struct mtd_info *mtd;
> - int cs;
>
> - pdata = dev_get_platdata(&pdev->dev);
> /* We don't want to handle interrupt without calling mtd routine */
> disable_int(info, NDCR_INT_MASK);
>
> @@ -1935,10 +1922,6 @@ static int pxa3xx_nand_resume(struct platform_device *pdev)
> * all status before resume
> */
> nand_writel(info, NDSR, NDSR_MASK);
> - for (cs = 0; cs < pdata->num_cs; cs++) {
> - mtd = info->host[cs]->mtd;
> - mtd_resume(mtd);
> - }
>
> return 0;
> }
> --
> 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
More information about the linux-mtd
mailing list