-From 71730a0fd9b903581172f4fec70bf2c6ee937429 Mon Sep 17 00:00:00 2001
+From 458b12af8bc9132d1e090730fc82c5fb2bdbcb82 Mon Sep 17 00:00:00 2001
From: Sasha Levin <sashal@kernel.org>
Date: Thu, 6 Sep 2018 14:05:15 +0200
Subject: mtd: rawnand: Pass a nand_chip object to nand_release()
drivers/mtd/nand/ams-delta.c | 2 +-
drivers/mtd/nand/au1550nd.c | 2 +-
drivers/mtd/nand/bcm47xxnflash/main.c | 2 +-
+ drivers/mtd/nand/bf5xx_nand.c | 2 +-
drivers/mtd/nand/brcmnand/brcmnand.c | 2 +-
drivers/mtd/nand/cafe_nand.c | 2 +-
drivers/mtd/nand/cmx270_nand.c | 2 +-
drivers/mtd/nand/gpio.c | 2 +-
drivers/mtd/nand/gpmi-nand/gpmi-nand.c | 2 +-
drivers/mtd/nand/hisi504_nand.c | 5 ++---
- drivers/mtd/nand/jz4740_nand.c | 2 +-
+ drivers/mtd/nand/jz4740_nand.c | 4 ++--
drivers/mtd/nand/jz4780_nand.c | 4 ++--
- drivers/mtd/nand/lpc32xx_mlc.c | 3 +--
- drivers/mtd/nand/lpc32xx_slc.c | 3 +--
+ drivers/mtd/nand/lpc32xx_mlc.c | 5 ++---
+ drivers/mtd/nand/lpc32xx_slc.c | 5 ++---
drivers/mtd/nand/mpc5121_nfc.c | 2 +-
drivers/mtd/nand/mtk_nand.c | 4 ++--
drivers/mtd/nand/mxc_nand.c | 2 +-
drivers/mtd/nand/oxnas_nand.c | 4 ++--
drivers/mtd/nand/pasemi_nand.c | 2 +-
drivers/mtd/nand/plat_nand.c | 4 ++--
+ drivers/mtd/nand/pxa3xx_nand.c | 2 +-
drivers/mtd/nand/qcom_nandc.c | 2 +-
drivers/mtd/nand/r852.c | 4 ++--
drivers/mtd/nand/s3c2410.c | 2 +-
drivers/mtd/nand/vf610_nfc.c | 2 +-
drivers/mtd/nand/xway_nand.c | 4 ++--
include/linux/mtd/rawnand.h | 6 ++----
- 48 files changed, 67 insertions(+), 76 deletions(-)
+ 50 files changed, 72 insertions(+), 81 deletions(-)
diff --git a/Documentation/driver-api/mtdnand.rst b/Documentation/driver-api/mtdnand.rst
index 2a5191b6d4459..15449334b1242 100644
return 0;
}
+diff --git a/drivers/mtd/nand/bf5xx_nand.c b/drivers/mtd/nand/bf5xx_nand.c
+index 5655dca6ce434..ebcbcbaa8b547 100644
+--- a/drivers/mtd/nand/bf5xx_nand.c
++++ b/drivers/mtd/nand/bf5xx_nand.c
+@@ -688,7 +688,7 @@ static int bf5xx_nand_remove(struct platform_device *pdev)
+ * and their partitions, then go through freeing the
+ * resources used
+ */
+- nand_release(nand_to_mtd(&info->chip));
++ nand_release(&info->chip);
+
+ peripheral_free_list(bfin_nfc_pin_req);
+ bf5xx_nand_dma_remove(info);
diff --git a/drivers/mtd/nand/brcmnand/brcmnand.c b/drivers/mtd/nand/brcmnand/brcmnand.c
index f8d793b15a7a9..2bb8e6faa5391 100644
--- a/drivers/mtd/nand/brcmnand/brcmnand.c
return 0;
}
diff --git a/drivers/mtd/nand/jz4740_nand.c b/drivers/mtd/nand/jz4740_nand.c
-index ad827d4af3e9b..2caf27bef13a4 100644
+index ad827d4af3e9b..62ddea88edce5 100644
--- a/drivers/mtd/nand/jz4740_nand.c
+++ b/drivers/mtd/nand/jz4740_nand.c
+@@ -480,7 +480,7 @@ static int jz_nand_probe(struct platform_device *pdev)
+ return 0;
+
+ err_nand_release:
+- nand_release(mtd);
++ nand_release(chip);
+ err_unclaim_banks:
+ while (chipnr--) {
+ unsigned char bank = nand->banks[chipnr];
@@ -500,7 +500,7 @@ static int jz_nand_remove(struct platform_device *pdev)
struct jz_nand *nand = platform_get_drvdata(pdev);
size_t i;
}
}
diff --git a/drivers/mtd/nand/lpc32xx_mlc.c b/drivers/mtd/nand/lpc32xx_mlc.c
-index 5796468db6534..34687c20409be 100644
+index 5796468db6534..d19d07931c2b8 100644
--- a/drivers/mtd/nand/lpc32xx_mlc.c
+++ b/drivers/mtd/nand/lpc32xx_mlc.c
+@@ -805,7 +805,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
+ if (!res)
+ return res;
+
+- nand_release(mtd);
++ nand_release(nand_chip);
+
+ err_exit4:
+ free_irq(host->irq, host);
@@ -829,9 +829,8 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
static int lpc32xx_nand_remove(struct platform_device *pdev)
{
if (use_dma)
dma_release_channel(host->dma_chan);
diff --git a/drivers/mtd/nand/lpc32xx_slc.c b/drivers/mtd/nand/lpc32xx_slc.c
-index b61f28a1554d3..408758c90a451 100644
+index b61f28a1554d3..1be4aaa3d6e07 100644
--- a/drivers/mtd/nand/lpc32xx_slc.c
+++ b/drivers/mtd/nand/lpc32xx_slc.c
+@@ -935,7 +935,7 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
+ if (!res)
+ return res;
+
+- nand_release(mtd);
++ nand_release(chip);
+
+ err_exit3:
+ dma_release_channel(host->dma_chan);
@@ -954,9 +954,8 @@ static int lpc32xx_nand_remove(struct platform_device *pdev)
{
uint32_t tmp;
if (pdata->ctrl.remove)
pdata->ctrl.remove(pdev);
+diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c
+index 125b744c9c285..df62f99979f3c 100644
+--- a/drivers/mtd/nand/pxa3xx_nand.c
++++ b/drivers/mtd/nand/pxa3xx_nand.c
+@@ -1915,7 +1915,7 @@ static int pxa3xx_nand_remove(struct platform_device *pdev)
+ clk_disable_unprepare(info->clk);
+
+ for (cs = 0; cs < pdata->num_cs; cs++)
+- nand_release(nand_to_mtd(&info->host[cs]->chip));
++ nand_release(&info->host[cs]->chip);
+ return 0;
+ }
+
diff --git a/drivers/mtd/nand/qcom_nandc.c b/drivers/mtd/nand/qcom_nandc.c
index 09d5f7df60237..65d1be2c30497 100644
--- a/drivers/mtd/nand/qcom_nandc.c