2
0

0162-mtd-nand-mtk-use-nand_reset-to-reset-NAND-devices-in.patch 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. From fb607c7c1eaeb47ec2ffed99cab571892cb6af7d Mon Sep 17 00:00:00 2001
  2. From: Xiaolei Li <[email protected]>
  3. Date: Thu, 2 Nov 2017 10:05:07 +0800
  4. Subject: [PATCH 162/224] mtd: nand: mtk: use nand_reset() to reset NAND
  5. devices in resume function
  6. Previously, we only select chips and then send reset command to a NAND
  7. device during resuming nand driver. There is a lack of deselecting chips.
  8. It is advised to reset and initialize a NAND device using nand_reset().
  9. Signed-off-by: Xiaolei Li <[email protected]>
  10. Reviewed-by: Matthias Brugger <[email protected]>
  11. Signed-off-by: Boris Brezillon <[email protected]>
  12. ---
  13. drivers/mtd/nand/mtk_nand.c | 8 ++------
  14. 1 file changed, 2 insertions(+), 6 deletions(-)
  15. --- a/drivers/mtd/nand/mtk_nand.c
  16. +++ b/drivers/mtd/nand/mtk_nand.c
  17. @@ -1540,7 +1540,6 @@ static int mtk_nfc_resume(struct device
  18. struct mtk_nfc *nfc = dev_get_drvdata(dev);
  19. struct mtk_nfc_nand_chip *chip;
  20. struct nand_chip *nand;
  21. - struct mtd_info *mtd;
  22. int ret;
  23. u32 i;
  24. @@ -1553,11 +1552,8 @@ static int mtk_nfc_resume(struct device
  25. /* reset NAND chip if VCC was powered off */
  26. list_for_each_entry(chip, &nfc->chips, node) {
  27. nand = &chip->nand;
  28. - mtd = nand_to_mtd(nand);
  29. - for (i = 0; i < chip->nsels; i++) {
  30. - nand->select_chip(mtd, i);
  31. - nand->cmdfunc(mtd, NAND_CMD_RESET, -1, -1);
  32. - }
  33. + for (i = 0; i < chip->nsels; i++)
  34. + nand_reset(nand, i);
  35. }
  36. return 0;