Refreshed all patches. Compile-tested on: cns3xxx Runtime-tested on: cns3xxx Signed-off-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
		
			
				
	
	
		
			42 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			42 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
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
 | 
						|
@@ -1539,7 +1539,6 @@ static int mtk_nfc_resume(struct device
 | 
						|
 	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;
 | 
						|
 
 | 
						|
@@ -1552,11 +1551,8 @@ static int mtk_nfc_resume(struct device
 | 
						|
 	/* 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;
 |