* [PATCH v2] mtd: nand: mtk: use nand_reset() to reset NAND devices in resume function
@ 2017-11-02 2:05 xiaolei.li-NuS5LvNUpcJWk0Htik3J/w
[not found] ` <1509588307-38511-1-git-send-email-xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
0 siblings, 1 reply; 3+ messages in thread
From: xiaolei.li-NuS5LvNUpcJWk0Htik3J/w @ 2017-11-02 2:05 UTC (permalink / raw)
To: boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8,
computersforpeace-Re5JQEeQqe8AvxtiuMwx3w
Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w,
bayi.cheng-NuS5LvNUpcJWk0Htik3J/w,
linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r,
xiaolei.li-NuS5LvNUpcJWk0Htik3J/w, dwmw2-wEGCiKHe2LqWVfeAwA7xHQ,
rogercc.lin-NuS5LvNUpcJWk0Htik3J/w
From: Xiaolei Li <xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
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-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
---
drivers/mtd/nand/mtk_nand.c | 8 ++------
1 file changed, 2 insertions(+), 6 deletions(-)
diff --git a/drivers/mtd/nand/mtk_nand.c b/drivers/mtd/nand/mtk_nand.c
index d86a7d1..6d0101e 100644
--- a/drivers/mtd/nand/mtk_nand.c
+++ b/drivers/mtd/nand/mtk_nand.c
@@ -1540,7 +1540,6 @@ static int mtk_nfc_resume(struct device *dev)
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;
@@ -1553,11 +1552,8 @@ static int mtk_nfc_resume(struct device *dev)
/* 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;
--
1.9.1
^ permalink raw reply related [flat|nested] 3+ messages in thread[parent not found: <1509588307-38511-1-git-send-email-xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>]
* Re: [PATCH v2] mtd: nand: mtk: use nand_reset() to reset NAND devices in resume function [not found] ` <1509588307-38511-1-git-send-email-xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> @ 2017-11-02 11:41 ` Matthias Brugger 2017-11-30 21:16 ` Boris Brezillon 1 sibling, 0 replies; 3+ messages in thread From: Matthias Brugger @ 2017-11-02 11:41 UTC (permalink / raw) To: xiaolei.li-NuS5LvNUpcJWk0Htik3J/w, boris.brezillon-wi1+55ScJUtKEb57/3fJTNBPR1lH4CV8, computersforpeace-Re5JQEeQqe8AvxtiuMwx3w Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w, bayi.cheng-NuS5LvNUpcJWk0Htik3J/w, linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, dwmw2-wEGCiKHe2LqWVfeAwA7xHQ, rogercc.lin-NuS5LvNUpcJWk0Htik3J/w On 11/02/2017 03:05 AM, xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org wrote: > From: Xiaolei Li <xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> > > 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-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> > --- Reviewed-by: Matthias Brugger <matthias.bgg-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> > drivers/mtd/nand/mtk_nand.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/mtd/nand/mtk_nand.c b/drivers/mtd/nand/mtk_nand.c > index d86a7d1..6d0101e 100644 > --- a/drivers/mtd/nand/mtk_nand.c > +++ b/drivers/mtd/nand/mtk_nand.c > @@ -1540,7 +1540,6 @@ static int mtk_nfc_resume(struct device *dev) > 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; > > @@ -1553,11 +1552,8 @@ static int mtk_nfc_resume(struct device *dev) > /* 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; > ^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH v2] mtd: nand: mtk: use nand_reset() to reset NAND devices in resume function [not found] ` <1509588307-38511-1-git-send-email-xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> 2017-11-02 11:41 ` Matthias Brugger @ 2017-11-30 21:16 ` Boris Brezillon 1 sibling, 0 replies; 3+ messages in thread From: Boris Brezillon @ 2017-11-30 21:16 UTC (permalink / raw) To: xiaolei.li-NuS5LvNUpcJWk0Htik3J/w Cc: srv_heupstream-NuS5LvNUpcJWk0Htik3J/w, bayi.cheng-NuS5LvNUpcJWk0Htik3J/w, linux-mtd-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, linux-mediatek-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, computersforpeace-Re5JQEeQqe8AvxtiuMwx3w, dwmw2-wEGCiKHe2LqWVfeAwA7xHQ, rogercc.lin-NuS5LvNUpcJWk0Htik3J/w On Thu, 2 Nov 2017 10:05:07 +0800 <xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> wrote: > From: Xiaolei Li <xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> > > 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(). > Applied. Thanks, Boris > Signed-off-by: Xiaolei Li <xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org> > --- > drivers/mtd/nand/mtk_nand.c | 8 ++------ > 1 file changed, 2 insertions(+), 6 deletions(-) > > diff --git a/drivers/mtd/nand/mtk_nand.c b/drivers/mtd/nand/mtk_nand.c > index d86a7d1..6d0101e 100644 > --- a/drivers/mtd/nand/mtk_nand.c > +++ b/drivers/mtd/nand/mtk_nand.c > @@ -1540,7 +1540,6 @@ static int mtk_nfc_resume(struct device *dev) > 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; > > @@ -1553,11 +1552,8 @@ static int mtk_nfc_resume(struct device *dev) > /* 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; ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2017-11-30 21:16 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-02 2:05 [PATCH v2] mtd: nand: mtk: use nand_reset() to reset NAND devices in resume function xiaolei.li-NuS5LvNUpcJWk0Htik3J/w
[not found] ` <1509588307-38511-1-git-send-email-xiaolei.li-NuS5LvNUpcJWk0Htik3J/w@public.gmane.org>
2017-11-02 11:41 ` Matthias Brugger
2017-11-30 21:16 ` Boris Brezillon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox