2018-05-07 10:07:32 +00:00
|
|
|
From fb607c7c1eaeb47ec2ffed99cab571892cb6af7d Mon Sep 17 00:00:00 2001
|
|
|
|
From: Xiaolei Li <xiaolei.li@mediatek.com>
|
|
|
|
Date: Thu, 2 Nov 2017 10:05:07 +0800
|
|
|
|
Subject: [PATCH 162/224] mtd: nand: mtk: use nand_reset() to reset NAND
|
|
|
|
devices in resume function
|
|
|
|
|
|
|
|
Previously, we only select chips and then send reset command to a NAND
|
|
|
|
device during resuming nand driver. There is a lack of deselecting chips.
|
|
|
|
It is advised to reset and initialize a NAND device using nand_reset().
|
|
|
|
|
|
|
|
Signed-off-by: Xiaolei Li <xiaolei.li@mediatek.com>
|
|
|
|
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
|
|
|
|
Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
|
|
|
|
---
|
|
|
|
drivers/mtd/nand/mtk_nand.c | 8 ++------
|
|
|
|
1 file changed, 2 insertions(+), 6 deletions(-)
|
|
|
|
|
|
|
|
--- a/drivers/mtd/nand/mtk_nand.c
|
|
|
|
+++ b/drivers/mtd/nand/mtk_nand.c
|
2018-05-28 21:10:44 +00:00
|
|
|
@@ -1540,7 +1540,6 @@ static int mtk_nfc_resume(struct device
|
2018-05-07 10:07:32 +00:00
|
|
|
struct mtk_nfc *nfc = dev_get_drvdata(dev);
|
|
|
|
struct mtk_nfc_nand_chip *chip;
|
|
|
|
struct nand_chip *nand;
|
|
|
|
- struct mtd_info *mtd;
|
|
|
|
int ret;
|
|
|
|
u32 i;
|
|
|
|
|
2018-05-28 21:10:44 +00:00
|
|
|
@@ -1553,11 +1552,8 @@ static int mtk_nfc_resume(struct device
|
2018-05-07 10:07:32 +00:00
|
|
|
/* reset NAND chip if VCC was powered off */
|
|
|
|
list_for_each_entry(chip, &nfc->chips, node) {
|
|
|
|
nand = &chip->nand;
|
|
|
|
- mtd = nand_to_mtd(nand);
|
|
|
|
- for (i = 0; i < chip->nsels; i++) {
|
|
|
|
- nand->select_chip(mtd, i);
|
|
|
|
- nand->cmdfunc(mtd, NAND_CMD_RESET, -1, -1);
|
|
|
|
- }
|
|
|
|
+ for (i = 0; i < chip->nsels; i++)
|
|
|
|
+ nand_reset(nand, i);
|
|
|
|
}
|
|
|
|
|
|
|
|
return 0;
|