From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
stable@vger.kernel.org,
Boris Brezillon <boris.brezillon@bootlin.com>,
Miquel Raynal <miquel.raynal@bootlin.com>,
Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.14 119/136] mtd: rawnand: Pass a nand_chip object to nand_release()
Date: Tue, 23 Jun 2020 21:59:35 +0200 [thread overview]
Message-ID: <20200623195309.720758916@linuxfoundation.org> (raw)
In-Reply-To: <20200623195303.601828702@linuxfoundation.org>
From: Boris Brezillon <boris.brezillon@bootlin.com>
[ Upstream commit 59ac276f22270fb2094910f9a734c17f41c25e70 ]
Let's make the raw NAND API consistent by patching all helpers to
take a nand_chip object instead of an mtd_info one.
Now is nand_release()'s turn.
Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
Documentation/driver-api/mtdnand.rst | 2 +-
drivers/mtd/nand/ams-delta.c | 2 +-
drivers/mtd/nand/au1550nd.c | 2 +-
drivers/mtd/nand/bcm47xxnflash/main.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/cs553x_nand.c | 2 +-
drivers/mtd/nand/davinci_nand.c | 2 +-
drivers/mtd/nand/denali.c | 4 +---
drivers/mtd/nand/diskonchip.c | 4 ++--
drivers/mtd/nand/docg4.c | 4 ++--
drivers/mtd/nand/fsl_elbc_nand.c | 2 +-
drivers/mtd/nand/fsl_ifc_nand.c | 2 +-
drivers/mtd/nand/fsl_upm.c | 2 +-
drivers/mtd/nand/fsmc_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/jz4780_nand.c | 4 ++--
drivers/mtd/nand/lpc32xx_mlc.c | 3 +--
drivers/mtd/nand/lpc32xx_slc.c | 3 +--
drivers/mtd/nand/mpc5121_nfc.c | 2 +-
drivers/mtd/nand/mtk_nand.c | 4 ++--
drivers/mtd/nand/mxc_nand.c | 2 +-
drivers/mtd/nand/nand_base.c | 8 ++++----
drivers/mtd/nand/nandsim.c | 4 ++--
drivers/mtd/nand/ndfc.c | 2 +-
drivers/mtd/nand/nuc900_nand.c | 2 +-
drivers/mtd/nand/omap2.c | 2 +-
drivers/mtd/nand/orion_nand.c | 5 ++---
drivers/mtd/nand/oxnas_nand.c | 4 ++--
drivers/mtd/nand/pasemi_nand.c | 2 +-
drivers/mtd/nand/plat_nand.c | 4 ++--
drivers/mtd/nand/qcom_nandc.c | 2 +-
drivers/mtd/nand/r852.c | 4 ++--
drivers/mtd/nand/s3c2410.c | 2 +-
drivers/mtd/nand/sh_flctl.c | 2 +-
drivers/mtd/nand/sharpsl.c | 4 ++--
drivers/mtd/nand/socrates_nand.c | 5 ++---
drivers/mtd/nand/sunxi_nand.c | 4 ++--
drivers/mtd/nand/tango_nand.c | 2 +-
drivers/mtd/nand/tmio_nand.c | 4 ++--
drivers/mtd/nand/txx9ndfmc.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(-)
diff --git a/Documentation/driver-api/mtdnand.rst b/Documentation/driver-api/mtdnand.rst
index 2a5191b6d4459..15449334b1242 100644
--- a/Documentation/driver-api/mtdnand.rst
+++ b/Documentation/driver-api/mtdnand.rst
@@ -277,7 +277,7 @@ unregisters the partitions in the MTD layer.
static void __exit board_cleanup (void)
{
/* Release resources, unregister device */
- nand_release (board_mtd);
+ nand_release (mtd_to_nand(board_mtd));
/* unmap physical address */
iounmap(baseaddr);
diff --git a/drivers/mtd/nand/ams-delta.c b/drivers/mtd/nand/ams-delta.c
index dcec9cf4983f8..e22a9ffa9cb73 100644
--- a/drivers/mtd/nand/ams-delta.c
+++ b/drivers/mtd/nand/ams-delta.c
@@ -263,7 +263,7 @@ static int ams_delta_cleanup(struct platform_device *pdev)
void __iomem *io_base = platform_get_drvdata(pdev);
/* Release resources, unregister device */
- nand_release(ams_delta_mtd);
+ nand_release(mtd_to_nand(ams_delta_mtd));
gpio_free_array(_mandatory_gpio, ARRAY_SIZE(_mandatory_gpio));
gpio_free(AMS_DELTA_GPIO_PIN_NAND_RB);
diff --git a/drivers/mtd/nand/au1550nd.c b/drivers/mtd/nand/au1550nd.c
index 9d4a28fa6b73b..99c738be2545d 100644
--- a/drivers/mtd/nand/au1550nd.c
+++ b/drivers/mtd/nand/au1550nd.c
@@ -496,7 +496,7 @@ static int au1550nd_remove(struct platform_device *pdev)
struct au1550nd_ctx *ctx = platform_get_drvdata(pdev);
struct resource *r = platform_get_resource(pdev, IORESOURCE_MEM, 0);
- nand_release(nand_to_mtd(&ctx->chip));
+ nand_release(&ctx->chip);
iounmap(ctx->base);
release_mem_region(r->start, 0x1000);
kfree(ctx);
diff --git a/drivers/mtd/nand/bcm47xxnflash/main.c b/drivers/mtd/nand/bcm47xxnflash/main.c
index fb31429b70a9a..d796941608457 100644
--- a/drivers/mtd/nand/bcm47xxnflash/main.c
+++ b/drivers/mtd/nand/bcm47xxnflash/main.c
@@ -65,7 +65,7 @@ static int bcm47xxnflash_remove(struct platform_device *pdev)
{
struct bcm47xxnflash *nflash = platform_get_drvdata(pdev);
- nand_release(nand_to_mtd(&nflash->nand_chip));
+ nand_release(&nflash->nand_chip);
return 0;
}
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
+++ b/drivers/mtd/nand/brcmnand/brcmnand.c
@@ -2597,7 +2597,7 @@ int brcmnand_remove(struct platform_device *pdev)
struct brcmnand_host *host;
list_for_each_entry(host, &ctrl->host_list, node)
- nand_release(nand_to_mtd(&host->chip));
+ nand_release(&host->chip);
clk_disable_unprepare(ctrl->clk);
diff --git a/drivers/mtd/nand/cafe_nand.c b/drivers/mtd/nand/cafe_nand.c
index bc558c438a574..98c013094fa23 100644
--- a/drivers/mtd/nand/cafe_nand.c
+++ b/drivers/mtd/nand/cafe_nand.c
@@ -826,7 +826,7 @@ static void cafe_nand_remove(struct pci_dev *pdev)
/* Disable NAND IRQ in global IRQ mask register */
cafe_writel(cafe, ~1 & cafe_readl(cafe, GLOBAL_IRQ_MASK), GLOBAL_IRQ_MASK);
free_irq(pdev->irq, mtd);
- nand_release(mtd);
+ nand_release(chip);
free_rs(cafe->rs);
pci_iounmap(pdev, cafe->mmio);
dma_free_coherent(&cafe->pdev->dev,
diff --git a/drivers/mtd/nand/cmx270_nand.c b/drivers/mtd/nand/cmx270_nand.c
index 1fc435f994e1e..7b824ae88ab01 100644
--- a/drivers/mtd/nand/cmx270_nand.c
+++ b/drivers/mtd/nand/cmx270_nand.c
@@ -230,7 +230,7 @@ module_init(cmx270_init);
static void __exit cmx270_cleanup(void)
{
/* Release resources, unregister device */
- nand_release(cmx270_nand_mtd);
+ nand_release(mtd_to_nand(cmx270_nand_mtd));
gpio_free(GPIO_NAND_RB);
gpio_free(GPIO_NAND_CS);
diff --git a/drivers/mtd/nand/cs553x_nand.c b/drivers/mtd/nand/cs553x_nand.c
index d48877540f144..647d4ee693457 100644
--- a/drivers/mtd/nand/cs553x_nand.c
+++ b/drivers/mtd/nand/cs553x_nand.c
@@ -338,7 +338,7 @@ static void __exit cs553x_cleanup(void)
mmio_base = this->IO_ADDR_R;
/* Release resources, unregister device */
- nand_release(mtd);
+ nand_release(this);
kfree(mtd->name);
cs553x_mtd[i] = NULL;
diff --git a/drivers/mtd/nand/davinci_nand.c b/drivers/mtd/nand/davinci_nand.c
index ccc8c43abcff3..e66f1385b49e8 100644
--- a/drivers/mtd/nand/davinci_nand.c
+++ b/drivers/mtd/nand/davinci_nand.c
@@ -854,7 +854,7 @@ static int nand_davinci_remove(struct platform_device *pdev)
ecc4_busy = false;
spin_unlock_irq(&davinci_nand_lock);
- nand_release(nand_to_mtd(&info->chip));
+ nand_release(&info->chip);
clk_disable_unprepare(info->clk);
diff --git a/drivers/mtd/nand/denali.c b/drivers/mtd/nand/denali.c
index 3087b0ba7b7f3..390a18ad68eea 100644
--- a/drivers/mtd/nand/denali.c
+++ b/drivers/mtd/nand/denali.c
@@ -1444,9 +1444,7 @@ EXPORT_SYMBOL(denali_init);
/* driver exit point */
void denali_remove(struct denali_nand_info *denali)
{
- struct mtd_info *mtd = nand_to_mtd(&denali->nand);
-
- nand_release(mtd);
+ nand_release(&denali->nand);
kfree(denali->buf);
denali_disable_irq(denali);
}
diff --git a/drivers/mtd/nand/diskonchip.c b/drivers/mtd/nand/diskonchip.c
index c3aa53caab5cf..12cac07f5cf22 100644
--- a/drivers/mtd/nand/diskonchip.c
+++ b/drivers/mtd/nand/diskonchip.c
@@ -1611,7 +1611,7 @@ static int __init doc_probe(unsigned long physadr)
/* nand_release will call mtd_device_unregister, but we
haven't yet added it. This is handled without incident by
mtd_device_unregister, as far as I can tell. */
- nand_release(mtd);
+ nand_release(nand);
kfree(nand);
goto fail;
}
@@ -1644,7 +1644,7 @@ static void release_nanddoc(void)
doc = nand_get_controller_data(nand);
nextmtd = doc->nextdoc;
- nand_release(mtd);
+ nand_release(nand);
iounmap(doc->virtadr);
release_mem_region(doc->physadr, DOC_IOREMAP_LEN);
kfree(nand);
diff --git a/drivers/mtd/nand/docg4.c b/drivers/mtd/nand/docg4.c
index 2436cbc71662d..53fdf491d8c00 100644
--- a/drivers/mtd/nand/docg4.c
+++ b/drivers/mtd/nand/docg4.c
@@ -1376,7 +1376,7 @@ static int __init probe_docg4(struct platform_device *pdev)
return 0;
fail:
- nand_release(mtd); /* deletes partitions and mtd devices */
+ nand_release(nand); /* deletes partitions and mtd devices */
free_bch(doc->bch);
kfree(nand);
@@ -1389,7 +1389,7 @@ static int __init probe_docg4(struct platform_device *pdev)
static int __exit cleanup_docg4(struct platform_device *pdev)
{
struct docg4_priv *doc = platform_get_drvdata(pdev);
- nand_release(doc->mtd);
+ nand_release(mtd_to_nand(doc->mtd));
free_bch(doc->bch);
kfree(mtd_to_nand(doc->mtd));
iounmap(doc->virtadr);
diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
index 17db2f90aa2c3..0f70bd961234e 100644
--- a/drivers/mtd/nand/fsl_elbc_nand.c
+++ b/drivers/mtd/nand/fsl_elbc_nand.c
@@ -813,7 +813,7 @@ static int fsl_elbc_chip_remove(struct fsl_elbc_mtd *priv)
struct fsl_elbc_fcm_ctrl *elbc_fcm_ctrl = priv->ctrl->nand;
struct mtd_info *mtd = nand_to_mtd(&priv->chip);
- nand_release(mtd);
+ nand_release(&priv->chip);
kfree(mtd->name);
diff --git a/drivers/mtd/nand/fsl_ifc_nand.c b/drivers/mtd/nand/fsl_ifc_nand.c
index 16deba1a23858..0d49281614397 100644
--- a/drivers/mtd/nand/fsl_ifc_nand.c
+++ b/drivers/mtd/nand/fsl_ifc_nand.c
@@ -927,7 +927,7 @@ static int fsl_ifc_chip_remove(struct fsl_ifc_mtd *priv)
{
struct mtd_info *mtd = nand_to_mtd(&priv->chip);
- nand_release(mtd);
+ nand_release(&priv->chip);
kfree(mtd->name);
diff --git a/drivers/mtd/nand/fsl_upm.c b/drivers/mtd/nand/fsl_upm.c
index a88e2cf66e0f6..009e96fb92ae2 100644
--- a/drivers/mtd/nand/fsl_upm.c
+++ b/drivers/mtd/nand/fsl_upm.c
@@ -326,7 +326,7 @@ static int fun_remove(struct platform_device *ofdev)
struct mtd_info *mtd = nand_to_mtd(&fun->chip);
int i;
- nand_release(mtd);
+ nand_release(&fun->chip);
kfree(mtd->name);
for (i = 0; i < fun->mchip_count; i++) {
diff --git a/drivers/mtd/nand/fsmc_nand.c b/drivers/mtd/nand/fsmc_nand.c
index eac15d9bf49eb..3be80e15e4002 100644
--- a/drivers/mtd/nand/fsmc_nand.c
+++ b/drivers/mtd/nand/fsmc_nand.c
@@ -1118,7 +1118,7 @@ static int fsmc_nand_remove(struct platform_device *pdev)
struct fsmc_nand_data *host = platform_get_drvdata(pdev);
if (host) {
- nand_release(nand_to_mtd(&host->nand));
+ nand_release(&host->nand);
if (host->mode == USE_DMA_ACCESS) {
dma_release_channel(host->write_dma_chan);
diff --git a/drivers/mtd/nand/gpio.c b/drivers/mtd/nand/gpio.c
index fd3648952b5a7..81b02b81e9844 100644
--- a/drivers/mtd/nand/gpio.c
+++ b/drivers/mtd/nand/gpio.c
@@ -199,7 +199,7 @@ static int gpio_nand_remove(struct platform_device *pdev)
{
struct gpiomtd *gpiomtd = platform_get_drvdata(pdev);
- nand_release(nand_to_mtd(&gpiomtd->nand_chip));
+ nand_release(&gpiomtd->nand_chip);
if (gpio_is_valid(gpiomtd->plat.gpio_nwp))
gpio_set_value(gpiomtd->plat.gpio_nwp, 0);
diff --git a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
index d4d824ef64e9f..c7d0d2eed6c25 100644
--- a/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
+++ b/drivers/mtd/nand/gpmi-nand/gpmi-nand.c
@@ -2135,7 +2135,7 @@ static int gpmi_nand_remove(struct platform_device *pdev)
{
struct gpmi_nand_data *this = platform_get_drvdata(pdev);
- nand_release(nand_to_mtd(&this->nand));
+ nand_release(&this->nand);
gpmi_free_dma_buffer(this);
release_resources(this);
return 0;
diff --git a/drivers/mtd/nand/hisi504_nand.c b/drivers/mtd/nand/hisi504_nand.c
index d9ee1a7e69563..1d1b541489f84 100644
--- a/drivers/mtd/nand/hisi504_nand.c
+++ b/drivers/mtd/nand/hisi504_nand.c
@@ -823,7 +823,7 @@ static int hisi_nfc_probe(struct platform_device *pdev)
return 0;
err_mtd:
- nand_release(mtd);
+ nand_release(chip);
err_res:
return ret;
}
@@ -831,9 +831,8 @@ static int hisi_nfc_probe(struct platform_device *pdev)
static int hisi_nfc_remove(struct platform_device *pdev)
{
struct hinfc_host *host = platform_get_drvdata(pdev);
- struct mtd_info *mtd = nand_to_mtd(&host->chip);
- nand_release(mtd);
+ nand_release(&host->chip);
return 0;
}
diff --git a/drivers/mtd/nand/jz4740_nand.c b/drivers/mtd/nand/jz4740_nand.c
index ad827d4af3e9b..2caf27bef13a4 100644
--- a/drivers/mtd/nand/jz4740_nand.c
+++ b/drivers/mtd/nand/jz4740_nand.c
@@ -500,7 +500,7 @@ static int jz_nand_remove(struct platform_device *pdev)
struct jz_nand *nand = platform_get_drvdata(pdev);
size_t i;
- nand_release(nand_to_mtd(&nand->chip));
+ nand_release(&nand->chip);
/* Deassert and disable all chips */
writel(0, nand->base + JZ_REG_NAND_CTRL);
diff --git a/drivers/mtd/nand/jz4780_nand.c b/drivers/mtd/nand/jz4780_nand.c
index e69f6ae4c5395..86ff46eb79256 100644
--- a/drivers/mtd/nand/jz4780_nand.c
+++ b/drivers/mtd/nand/jz4780_nand.c
@@ -293,7 +293,7 @@ static int jz4780_nand_init_chip(struct platform_device *pdev,
ret = mtd_device_register(mtd, NULL, 0);
if (ret) {
- nand_release(mtd);
+ nand_release(chip);
return ret;
}
@@ -308,7 +308,7 @@ static void jz4780_nand_cleanup_chips(struct jz4780_nand_controller *nfc)
while (!list_empty(&nfc->chips)) {
chip = list_first_entry(&nfc->chips, struct jz4780_nand_chip, chip_list);
- nand_release(nand_to_mtd(&chip->chip));
+ nand_release(&chip->chip);
list_del(&chip->chip_list);
}
}
diff --git a/drivers/mtd/nand/lpc32xx_mlc.c b/drivers/mtd/nand/lpc32xx_mlc.c
index 5796468db6534..34687c20409be 100644
--- a/drivers/mtd/nand/lpc32xx_mlc.c
+++ b/drivers/mtd/nand/lpc32xx_mlc.c
@@ -829,9 +829,8 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
static int lpc32xx_nand_remove(struct platform_device *pdev)
{
struct lpc32xx_nand_host *host = platform_get_drvdata(pdev);
- struct mtd_info *mtd = nand_to_mtd(&host->nand_chip);
- nand_release(mtd);
+ nand_release(&host->nand_chip);
free_irq(host->irq, host);
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
--- a/drivers/mtd/nand/lpc32xx_slc.c
+++ b/drivers/mtd/nand/lpc32xx_slc.c
@@ -954,9 +954,8 @@ static int lpc32xx_nand_remove(struct platform_device *pdev)
{
uint32_t tmp;
struct lpc32xx_nand_host *host = platform_get_drvdata(pdev);
- struct mtd_info *mtd = nand_to_mtd(&host->nand_chip);
- nand_release(mtd);
+ nand_release(&host->nand_chip);
dma_release_channel(host->dma_chan);
/* Force CE high */
diff --git a/drivers/mtd/nand/mpc5121_nfc.c b/drivers/mtd/nand/mpc5121_nfc.c
index b6b97cc9fba69..b8a93b47a2901 100644
--- a/drivers/mtd/nand/mpc5121_nfc.c
+++ b/drivers/mtd/nand/mpc5121_nfc.c
@@ -829,7 +829,7 @@ static int mpc5121_nfc_remove(struct platform_device *op)
struct device *dev = &op->dev;
struct mtd_info *mtd = dev_get_drvdata(dev);
- nand_release(mtd);
+ nand_release(mtd_to_nand(mtd));
mpc5121_nfc_free(dev, mtd);
return 0;
diff --git a/drivers/mtd/nand/mtk_nand.c b/drivers/mtd/nand/mtk_nand.c
index e17f838b9b814..27fcce71ad38c 100644
--- a/drivers/mtd/nand/mtk_nand.c
+++ b/drivers/mtd/nand/mtk_nand.c
@@ -1357,7 +1357,7 @@ static int mtk_nfc_nand_chip_init(struct device *dev, struct mtk_nfc *nfc,
ret = mtd_device_parse_register(mtd, NULL, NULL, NULL, 0);
if (ret) {
dev_err(dev, "mtd parse partition error\n");
- nand_release(mtd);
+ nand_release(nand);
return ret;
}
@@ -1514,7 +1514,7 @@ static int mtk_nfc_remove(struct platform_device *pdev)
while (!list_empty(&nfc->chips)) {
chip = list_first_entry(&nfc->chips, struct mtk_nfc_nand_chip,
node);
- nand_release(nand_to_mtd(&chip->nand));
+ nand_release(&chip->nand);
list_del(&chip->node);
}
diff --git a/drivers/mtd/nand/mxc_nand.c b/drivers/mtd/nand/mxc_nand.c
index fcb575d55b89b..808d85bde9f22 100644
--- a/drivers/mtd/nand/mxc_nand.c
+++ b/drivers/mtd/nand/mxc_nand.c
@@ -1834,7 +1834,7 @@ static int mxcnd_remove(struct platform_device *pdev)
{
struct mxc_nand_host *host = platform_get_drvdata(pdev);
- nand_release(nand_to_mtd(&host->nand));
+ nand_release(&host->nand);
if (host->clk_act)
clk_disable_unprepare(host->clk);
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index d410de3318542..e953eca67608a 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -5046,12 +5046,12 @@ EXPORT_SYMBOL_GPL(nand_cleanup);
/**
* nand_release - [NAND Interface] Unregister the MTD device and free resources
* held by the NAND device
- * @mtd: MTD device structure
+ * @chip: NAND chip object
*/
-void nand_release(struct mtd_info *mtd)
+void nand_release(struct nand_chip *chip)
{
- mtd_device_unregister(mtd);
- nand_cleanup(mtd_to_nand(mtd));
+ mtd_device_unregister(nand_to_mtd(chip));
+ nand_cleanup(chip);
}
EXPORT_SYMBOL_GPL(nand_release);
diff --git a/drivers/mtd/nand/nandsim.c b/drivers/mtd/nand/nandsim.c
index 44322a363ba54..dbb0e47f51975 100644
--- a/drivers/mtd/nand/nandsim.c
+++ b/drivers/mtd/nand/nandsim.c
@@ -2356,7 +2356,7 @@ static int __init ns_init_module(void)
err_exit:
free_nandsim(nand);
- nand_release(nsmtd);
+ nand_release(chip);
for (i = 0;i < ARRAY_SIZE(nand->partitions); ++i)
kfree(nand->partitions[i].name);
error:
@@ -2378,7 +2378,7 @@ static void __exit ns_cleanup_module(void)
int i;
free_nandsim(ns); /* Free nandsim private resources */
- nand_release(nsmtd); /* Unregister driver */
+ nand_release(chip); /* Unregister driver */
for (i = 0;i < ARRAY_SIZE(ns->partitions); ++i)
kfree(ns->partitions[i].name);
kfree(mtd_to_nand(nsmtd)); /* Free other structures */
diff --git a/drivers/mtd/nand/ndfc.c b/drivers/mtd/nand/ndfc.c
index d8a8068949376..eb84328d9bded 100644
--- a/drivers/mtd/nand/ndfc.c
+++ b/drivers/mtd/nand/ndfc.c
@@ -258,7 +258,7 @@ static int ndfc_remove(struct platform_device *ofdev)
struct ndfc_controller *ndfc = dev_get_drvdata(&ofdev->dev);
struct mtd_info *mtd = nand_to_mtd(&ndfc->chip);
- nand_release(mtd);
+ nand_release(&ndfc->chip);
kfree(mtd->name);
return 0;
diff --git a/drivers/mtd/nand/nuc900_nand.c b/drivers/mtd/nand/nuc900_nand.c
index 7bb4d2ea93421..a79f88c6d0102 100644
--- a/drivers/mtd/nand/nuc900_nand.c
+++ b/drivers/mtd/nand/nuc900_nand.c
@@ -284,7 +284,7 @@ static int nuc900_nand_remove(struct platform_device *pdev)
{
struct nuc900_nand *nuc900_nand = platform_get_drvdata(pdev);
- nand_release(nand_to_mtd(&nuc900_nand->chip));
+ nand_release(&nuc900_nand->chip);
clk_disable(nuc900_nand->clk);
return 0;
diff --git a/drivers/mtd/nand/omap2.c b/drivers/mtd/nand/omap2.c
index 9f98f74ff221a..110c0726c665e 100644
--- a/drivers/mtd/nand/omap2.c
+++ b/drivers/mtd/nand/omap2.c
@@ -2306,7 +2306,7 @@ static int omap_nand_remove(struct platform_device *pdev)
}
if (info->dma)
dma_release_channel(info->dma);
- nand_release(mtd);
+ nand_release(nand_chip);
return 0;
}
diff --git a/drivers/mtd/nand/orion_nand.c b/drivers/mtd/nand/orion_nand.c
index 5a5aa1f07d074..2f21c678d6efd 100644
--- a/drivers/mtd/nand/orion_nand.c
+++ b/drivers/mtd/nand/orion_nand.c
@@ -186,7 +186,7 @@ static int __init orion_nand_probe(struct platform_device *pdev)
mtd->name = "orion_nand";
ret = mtd_device_register(mtd, board->parts, board->nr_parts);
if (ret) {
- nand_release(mtd);
+ nand_release(nc);
goto no_dev;
}
@@ -201,9 +201,8 @@ static int orion_nand_remove(struct platform_device *pdev)
{
struct orion_nand_info *info = platform_get_drvdata(pdev);
struct nand_chip *chip = &info->chip;
- struct mtd_info *mtd = nand_to_mtd(chip);
- nand_release(mtd);
+ nand_release(chip);
clk_disable_unprepare(info->clk);
diff --git a/drivers/mtd/nand/oxnas_nand.c b/drivers/mtd/nand/oxnas_nand.c
index d649d5944826e..ff58999887388 100644
--- a/drivers/mtd/nand/oxnas_nand.c
+++ b/drivers/mtd/nand/oxnas_nand.c
@@ -148,7 +148,7 @@ static int oxnas_nand_probe(struct platform_device *pdev)
err = mtd_device_register(mtd, NULL, 0);
if (err) {
- nand_release(mtd);
+ nand_release(chip);
goto err_clk_unprepare;
}
@@ -176,7 +176,7 @@ static int oxnas_nand_remove(struct platform_device *pdev)
struct oxnas_nand_ctrl *oxnas = platform_get_drvdata(pdev);
if (oxnas->chips[0])
- nand_release(nand_to_mtd(oxnas->chips[0]));
+ nand_release(oxnas->chips[0]);
clk_disable_unprepare(oxnas->clk);
diff --git a/drivers/mtd/nand/pasemi_nand.c b/drivers/mtd/nand/pasemi_nand.c
index d69e5bae541e2..f0f4ff9609655 100644
--- a/drivers/mtd/nand/pasemi_nand.c
+++ b/drivers/mtd/nand/pasemi_nand.c
@@ -193,7 +193,7 @@ static int pasemi_nand_remove(struct platform_device *ofdev)
chip = mtd_to_nand(pasemi_nand_mtd);
/* Release resources, unregister device */
- nand_release(pasemi_nand_mtd);
+ nand_release(chip);
release_region(lpcctl, 4);
diff --git a/drivers/mtd/nand/plat_nand.c b/drivers/mtd/nand/plat_nand.c
index 925a1323604de..2906996d22620 100644
--- a/drivers/mtd/nand/plat_nand.c
+++ b/drivers/mtd/nand/plat_nand.c
@@ -99,7 +99,7 @@ static int plat_nand_probe(struct platform_device *pdev)
if (!err)
return err;
- nand_release(mtd);
+ nand_release(&data->chip);
out:
if (pdata->ctrl.remove)
pdata->ctrl.remove(pdev);
@@ -114,7 +114,7 @@ static int plat_nand_remove(struct platform_device *pdev)
struct plat_nand_data *data = platform_get_drvdata(pdev);
struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev);
- nand_release(nand_to_mtd(&data->chip));
+ nand_release(&data->chip);
if (pdata->ctrl.remove)
pdata->ctrl.remove(pdev);
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
+++ b/drivers/mtd/nand/qcom_nandc.c
@@ -2760,7 +2760,7 @@ static int qcom_nandc_remove(struct platform_device *pdev)
struct qcom_nand_host *host;
list_for_each_entry(host, &nandc->host_list, node)
- nand_release(nand_to_mtd(&host->chip));
+ nand_release(&host->chip);
qcom_nandc_unalloc(nandc);
diff --git a/drivers/mtd/nand/r852.c b/drivers/mtd/nand/r852.c
index fc9287af46140..2cfa549413952 100644
--- a/drivers/mtd/nand/r852.c
+++ b/drivers/mtd/nand/r852.c
@@ -656,7 +656,7 @@ static int r852_register_nand_device(struct r852_device *dev)
dev->card_registred = 1;
return 0;
error3:
- nand_release(mtd);
+ nand_release(dev->chip);
error1:
/* Force card redetect */
dev->card_detected = 0;
@@ -675,7 +675,7 @@ static void r852_unregister_nand_device(struct r852_device *dev)
return;
device_remove_file(&mtd->dev, &dev_attr_media_type);
- nand_release(mtd);
+ nand_release(dev->chip);
r852_engine_disable(dev);
dev->card_registred = 0;
}
diff --git a/drivers/mtd/nand/s3c2410.c b/drivers/mtd/nand/s3c2410.c
index 4c383eeec6f6f..f60de68bfabcc 100644
--- a/drivers/mtd/nand/s3c2410.c
+++ b/drivers/mtd/nand/s3c2410.c
@@ -784,7 +784,7 @@ static int s3c24xx_nand_remove(struct platform_device *pdev)
for (mtdno = 0; mtdno < info->mtd_count; mtdno++, ptr++) {
pr_debug("releasing mtd %d (%p)\n", mtdno, ptr);
- nand_release(nand_to_mtd(&ptr->chip));
+ nand_release(&ptr->chip);
}
}
diff --git a/drivers/mtd/nand/sh_flctl.c b/drivers/mtd/nand/sh_flctl.c
index 43db80e5d994f..f2ed03ee30355 100644
--- a/drivers/mtd/nand/sh_flctl.c
+++ b/drivers/mtd/nand/sh_flctl.c
@@ -1231,7 +1231,7 @@ static int flctl_remove(struct platform_device *pdev)
struct sh_flctl *flctl = platform_get_drvdata(pdev);
flctl_release_dma(flctl);
- nand_release(nand_to_mtd(&flctl->chip));
+ nand_release(&flctl->chip);
pm_runtime_disable(&pdev->dev);
return 0;
diff --git a/drivers/mtd/nand/sharpsl.c b/drivers/mtd/nand/sharpsl.c
index f59c455d9f517..6cfff0c81153f 100644
--- a/drivers/mtd/nand/sharpsl.c
+++ b/drivers/mtd/nand/sharpsl.c
@@ -192,7 +192,7 @@ static int sharpsl_nand_probe(struct platform_device *pdev)
return 0;
err_add:
- nand_release(mtd);
+ nand_release(this);
err_scan:
iounmap(sharpsl->io);
@@ -210,7 +210,7 @@ static int sharpsl_nand_remove(struct platform_device *pdev)
struct sharpsl_nand *sharpsl = platform_get_drvdata(pdev);
/* Release resources, unregister device */
- nand_release(nand_to_mtd(&sharpsl->chip));
+ nand_release(&sharpsl->chip);
iounmap(sharpsl->io);
diff --git a/drivers/mtd/nand/socrates_nand.c b/drivers/mtd/nand/socrates_nand.c
index 575997d0ef8a0..f960f18ea3e24 100644
--- a/drivers/mtd/nand/socrates_nand.c
+++ b/drivers/mtd/nand/socrates_nand.c
@@ -195,7 +195,7 @@ static int socrates_nand_probe(struct platform_device *ofdev)
if (!res)
return res;
- nand_release(mtd);
+ nand_release(nand_chip);
out:
iounmap(host->io_base);
@@ -208,9 +208,8 @@ static int socrates_nand_probe(struct platform_device *ofdev)
static int socrates_nand_remove(struct platform_device *ofdev)
{
struct socrates_nand_host *host = dev_get_drvdata(&ofdev->dev);
- struct mtd_info *mtd = nand_to_mtd(&host->nand_chip);
- nand_release(mtd);
+ nand_release(&host->nand_chip);
iounmap(host->io_base);
diff --git a/drivers/mtd/nand/sunxi_nand.c b/drivers/mtd/nand/sunxi_nand.c
index 8e52314823976..d6e31e8a7b668 100644
--- a/drivers/mtd/nand/sunxi_nand.c
+++ b/drivers/mtd/nand/sunxi_nand.c
@@ -2125,7 +2125,7 @@ static int sunxi_nand_chip_init(struct device *dev, struct sunxi_nfc *nfc,
ret = mtd_device_register(mtd, NULL, 0);
if (ret) {
dev_err(dev, "failed to register mtd device: %d\n", ret);
- nand_release(mtd);
+ nand_release(nand);
return ret;
}
@@ -2164,7 +2164,7 @@ static void sunxi_nand_chips_cleanup(struct sunxi_nfc *nfc)
while (!list_empty(&nfc->chips)) {
chip = list_first_entry(&nfc->chips, struct sunxi_nand_chip,
node);
- nand_release(nand_to_mtd(&chip->nand));
+ nand_release(&chip->nand);
sunxi_nand_ecc_cleanup(&chip->nand.ecc);
list_del(&chip->node);
}
diff --git a/drivers/mtd/nand/tango_nand.c b/drivers/mtd/nand/tango_nand.c
index ce366816a7efb..1ab16a90ea296 100644
--- a/drivers/mtd/nand/tango_nand.c
+++ b/drivers/mtd/nand/tango_nand.c
@@ -619,7 +619,7 @@ static int tango_nand_remove(struct platform_device *pdev)
for (cs = 0; cs < MAX_CS; ++cs) {
if (nfc->chips[cs])
- nand_release(nand_to_mtd(&nfc->chips[cs]->nand_chip));
+ nand_release(&nfc->chips[cs]->nand_chip);
}
return 0;
diff --git a/drivers/mtd/nand/tmio_nand.c b/drivers/mtd/nand/tmio_nand.c
index 84dbf32332e12..5a082d9432f96 100644
--- a/drivers/mtd/nand/tmio_nand.c
+++ b/drivers/mtd/nand/tmio_nand.c
@@ -448,7 +448,7 @@ static int tmio_probe(struct platform_device *dev)
if (!retval)
return retval;
- nand_release(mtd);
+ nand_release(nand_chip);
err_irq:
tmio_hw_stop(dev, tmio);
@@ -459,7 +459,7 @@ static int tmio_remove(struct platform_device *dev)
{
struct tmio_nand *tmio = platform_get_drvdata(dev);
- nand_release(nand_to_mtd(&tmio->chip));
+ nand_release(&tmio->chip);
tmio_hw_stop(dev, tmio);
return 0;
}
diff --git a/drivers/mtd/nand/txx9ndfmc.c b/drivers/mtd/nand/txx9ndfmc.c
index b567d212fe7de..236181b2985ad 100644
--- a/drivers/mtd/nand/txx9ndfmc.c
+++ b/drivers/mtd/nand/txx9ndfmc.c
@@ -390,7 +390,7 @@ static int __exit txx9ndfmc_remove(struct platform_device *dev)
chip = mtd_to_nand(mtd);
txx9_priv = nand_get_controller_data(chip);
- nand_release(mtd);
+ nand_release(chip);
kfree(txx9_priv->mtdname);
kfree(txx9_priv);
}
diff --git a/drivers/mtd/nand/vf610_nfc.c b/drivers/mtd/nand/vf610_nfc.c
index e2583a539b413..688393526b5aa 100644
--- a/drivers/mtd/nand/vf610_nfc.c
+++ b/drivers/mtd/nand/vf610_nfc.c
@@ -794,7 +794,7 @@ static int vf610_nfc_remove(struct platform_device *pdev)
struct mtd_info *mtd = platform_get_drvdata(pdev);
struct vf610_nfc *nfc = mtd_to_nfc(mtd);
- nand_release(mtd);
+ nand_release(mtd_to_nand(mtd));
clk_disable_unprepare(nfc->clk);
return 0;
}
diff --git a/drivers/mtd/nand/xway_nand.c b/drivers/mtd/nand/xway_nand.c
index 9926b4e3d69d0..1988bb943d1bc 100644
--- a/drivers/mtd/nand/xway_nand.c
+++ b/drivers/mtd/nand/xway_nand.c
@@ -211,7 +211,7 @@ static int xway_nand_probe(struct platform_device *pdev)
err = mtd_device_register(mtd, NULL, 0);
if (err)
- nand_release(mtd);
+ nand_release(&data->chip);
return err;
}
@@ -223,7 +223,7 @@ static int xway_nand_remove(struct platform_device *pdev)
{
struct xway_nand_data *data = platform_get_drvdata(pdev);
- nand_release(nand_to_mtd(&data->chip));
+ nand_release(&data->chip);
return 0;
}
diff --git a/include/linux/mtd/rawnand.h b/include/linux/mtd/rawnand.h
index 2b05f4273babd..e9a791f46eb64 100644
--- a/include/linux/mtd/rawnand.h
+++ b/include/linux/mtd/rawnand.h
@@ -22,6 +22,7 @@
#include <linux/mtd/flashchip.h>
#include <linux/mtd/bbm.h>
+struct nand_chip;
struct mtd_info;
struct nand_flash_dev;
struct device_node;
@@ -37,7 +38,7 @@ int nand_scan_ident(struct mtd_info *mtd, int max_chips,
int nand_scan_tail(struct mtd_info *mtd);
/* Unregister the MTD device and free resources held by the NAND device */
-void nand_release(struct mtd_info *mtd);
+void nand_release(struct nand_chip *chip);
/* Internal helper for board drivers which need to override command function */
void nand_wait_ready(struct mtd_info *mtd);
@@ -227,9 +228,6 @@ enum nand_ecc_algo {
#define NAND_CI_CELLTYPE_MSK 0x0C
#define NAND_CI_CELLTYPE_SHIFT 2
-/* Keep gcc happy */
-struct nand_chip;
-
/* ONFI features */
#define ONFI_FEATURE_16_BIT_BUS (1 << 0)
#define ONFI_FEATURE_EXT_PARAM_PAGE (1 << 7)
--
2.25.1
next prev parent reply other threads:[~2020-06-23 20:50 UTC|newest]
Thread overview: 142+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-06-23 19:57 [PATCH 4.14 000/136] 4.14.186-rc1 review Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 001/136] s390: fix syscall_get_error for compat processes Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 002/136] drm/i915: Whitelist context-local timestamp in the gen9 cmdparser Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 003/136] power: supply: bq24257_charger: Replace depends on REGMAP_I2C with select Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 004/136] clk: sunxi: Fix incorrect usage of round_down() Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 005/136] i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 006/136] iio: pressure: bmp280: Tolerate IRQ before registering Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 007/136] remoteproc: Fix IDR initialisation in rproc_alloc() Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 008/136] clk: qcom: msm8916: Fix the address location of pll->config_reg Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 009/136] backlight: lp855x: Ensure regulators are disabled on probe failure Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 010/136] ASoC: davinci-mcasp: Fix dma_chan refcnt leak when getting dma type Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 011/136] ARM: integrator: Add some Kconfig selections Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 012/136] scsi: qedi: Check for buffer overflow in qedi_set_path() Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 013/136] ALSA: isa/wavefront: prevent out of bounds write in ioctl Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 014/136] scsi: qla2xxx: Fix issue with adapters stopping state Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 015/136] iio: bmp280: fix compensation of humidity Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 016/136] f2fs: report delalloc reserve as non-free in statfs for project quota Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 017/136] i2c: pxa: clear all master action bits in i2c_pxa_stop_message() Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 018/136] usblp: poison URBs upon disconnect Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 019/136] dm mpath: switch paths in dm_blk_ioctl() code path Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 020/136] PCI: aardvark: Dont blindly enable ASPM L0s and dont write to read-only register Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 021/136] ps3disk: use the default segment boundary Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 022/136] vfio/pci: fix memory leaks in alloc_perm_bits() Greg Kroah-Hartman
2020-06-23 19:57 ` [PATCH 4.14 023/136] m68k/PCI: Fix a memory leak in an error handling path Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 024/136] mfd: wm8994: Fix driver operation if loaded as modules Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 025/136] scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 026/136] clk: clk-flexgen: fix clock-critical handling Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 027/136] powerpc/perf/hv-24x7: Fix inconsistent output values incase multiple hv-24x7 events run Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 028/136] nfsd: Fix svc_xprt refcnt leak when setup callback client failed Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 029/136] powerpc/crashkernel: Take "mem=" option into account Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 030/136] yam: fix possible memory leak in yam_init_driver Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 031/136] NTB: Fix the default port and peer numbers for legacy drivers Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 032/136] mksysmap: Fix the mismatch of .L symbols in System.map Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 033/136] apparmor: fix introspection of of task mode for unconfined tasks Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 034/136] scsi: sr: Fix sr_probe() missing deallocate of device minor Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 035/136] scsi: ibmvscsi: Dont send host info in adapter info MAD after LPM Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 036/136] staging: greybus: fix a missing-check bug in gb_lights_light_config() Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 037/136] staging: rtl8712: fix multiline derefernce warnings Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 038/136] scsi: qedi: Do not flush offload work if ARP not resolved Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 039/136] ALSA: usb-audio: Improve frames size computation Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 040/136] s390/qdio: put thinint indicator after early error Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 041/136] tty: hvc: Fix data abort due to race in hvc_open Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 042/136] thermal/drivers/ti-soc-thermal: Avoid dereferencing ERR_PTR Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 043/136] staging: sm750fb: add missing case while setting FB_VISUAL Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 044/136] i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 045/136] serial: amba-pl011: Make sure we initialize the port.lock spinlock Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 046/136] drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 047/136] PCI: rcar: Fix incorrect programming of OB windows Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 048/136] PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 049/136] scsi: qla2xxx: Fix warning after FC target reset Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 050/136] power: supply: lp8788: Fix an error handling path in lp8788_charger_probe() Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 051/136] power: supply: smb347-charger: IRQSTAT_D is volatile Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 052/136] scsi: mpt3sas: Fix double free warnings Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 053/136] dlm: remove BUG() before panic() Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 054/136] clk: ti: composite: fix memory leak Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 055/136] PCI: Fix pci_register_host_bridge() device_register() error handling Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 056/136] tty: n_gsm: Fix SOF skipping Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 057/136] tty: n_gsm: Fix waking up upper tty layer when room available Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 058/136] powerpc/pseries/ras: Fix FWNMI_VALID off by one Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 059/136] powerpc/ps3: Fix kexec shutdown hang Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 060/136] vfio-pci: Mask cap zero Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 061/136] usb/ohci-platform: Fix a warning when hibernating Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 062/136] drm/msm/mdp5: Fix mdp5_init error path for failed mdp5_kms allocation Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 063/136] USB: host: ehci-mxc: Add error handling in ehci_mxc_drv_probe() Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 064/136] tty: n_gsm: Fix bogus i++ in gsm_data_kick Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 065/136] clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1 Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 066/136] powerpc/64s/pgtable: fix an undefined behaviour Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 067/136] dm zoned: return NULL if dmz_get_zone_for_reclaim() fails to find a zone Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 068/136] PCI/PTM: Inherit Switch Downstream Port PTM settings from Upstream Port Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 069/136] IB/cma: Fix ports memory leak in cma_configfs Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 070/136] watchdog: da9062: No need to ping manually before setting timeout Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 071/136] usb: dwc2: gadget: move gadget resume after the core is in L0 state Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 072/136] USB: gadget: udc: s3c2410_udc: Remove pointless NULL check in s3c2410_udc_nuke Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 073/136] usb: gadget: lpc32xx_udc: dont dereference ep pointer before null check Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 074/136] usb: gadget: fix potential double-free in m66592_probe Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 075/136] usb: gadget: Fix issue with config_ep_by_speed function Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 076/136] x86/apic: Make TSC deadline timer detection message visible Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 077/136] clk: bcm2835: Fix return type of bcm2835_register_gate Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 078/136] scsi: ufs-qcom: Fix scheduling while atomic issue Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 079/136] net: sunrpc: Fix off-by-one issues in rpc_ntop6 Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 080/136] NFSv4.1 fix rpc_call_done assignment for BIND_CONN_TO_SESSION Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 081/136] powerpc/4xx: Dont unmap NULL mbase Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 082/136] extcon: adc-jack: Fix an error handling path in adc_jack_probe() Greg Kroah-Hartman
2020-06-23 19:58 ` [PATCH 4.14 083/136] ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 084/136] vfio/mdev: Fix reference count leak in add_mdev_supported_type Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 085/136] openrisc: Fix issue with argument clobbering for clone/fork Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 086/136] gfs2: Allow lock_nolock mount to specify jid=X Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 087/136] scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 088/136] scsi: ufs: Dont update urgent bkops level when toggling auto bkops Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 089/136] pinctrl: imxl: Fix an error handling path in imx1_pinctrl_core_probe() Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 090/136] pinctrl: freescale: imx: Fix an error handling path in imx_pinctrl_probe() Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 091/136] crypto: omap-sham - add proper load balancing support for multicore Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 092/136] geneve: change from tx_error to tx_dropped on missing metadata Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 093/136] lib/zlib: remove outdated and incorrect pre-increment optimization Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 094/136] include/linux/bitops.h: avoid clang shift-count-overflow warnings Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 095/136] elfnote: mark all .note sections SHF_ALLOC Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 096/136] selftests/vm/pkeys: fix alloc_random_pkey() to make it really random Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 097/136] blktrace: use errno instead of bi_status Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 098/136] blktrace: fix endianness in get_pdu_int() Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 099/136] blktrace: fix endianness for blk_log_remap() Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 100/136] gfs2: fix use-after-free on transaction ail lists Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 101/136] selftests/net: in timestamping, strncpy needs to preserve null byte Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 102/136] drm/sun4i: hdmi ddc clk: Fix size of m divider Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 103/136] scsi: acornscsi: Fix an error handling path in acornscsi_probe() Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 104/136] usb/xhci-plat: Set PM runtime as active on resume Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 105/136] usb/ehci-platform: " Greg Kroah-Hartman
2020-07-09 7:00 ` Eugeniu Rosca
2020-07-17 16:17 ` Qais Yousef
2020-07-17 17:16 ` Sasha Levin
2020-06-23 19:59 ` [PATCH 4.14 106/136] perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events() Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 107/136] bcache: fix potential deadlock problem in btree_gc_coalesce Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 108/136] block: Fix use-after-free in blkdev_get() Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 109/136] arm64: hw_breakpoint: Dont invoke overflow handler on uaccess watchpoints Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 110/136] libata: Use per port sync for detach Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 111/136] drm: encoder_slave: fix refcouting error for modules Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 112/136] drm/dp_mst: Reformat drm_dp_check_act_status() a bit Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 113/136] drm/qxl: Use correct notify port address when creating cursor ring Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 114/136] selinux: fix double free Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 115/136] ext4: fix partial cluster initialization when splitting extent Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 116/136] drm/dp_mst: Increase ACT retry timeout to 3s Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 117/136] x86/boot/compressed: Relax sed symbol type regex for LLVM ld.lld Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 118/136] block: nr_sects_write(): Disable preemption on seqcount write Greg Kroah-Hartman
2020-06-23 19:59 ` Greg Kroah-Hartman [this message]
2020-06-23 19:59 ` [PATCH 4.14 120/136] mtd: rawnand: diskonchip: Fix the probe error path Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 121/136] mtd: rawnand: sharpsl: " Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 122/136] mtd: rawnand: xway: " Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 123/136] mtd: rawnand: orion: " Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 124/136] mtd: rawnand: oxnas: Add of_node_put() Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 125/136] mtd: rawnand: oxnas: Fix the probe error path Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 126/136] mtd: rawnand: socrates: " Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 127/136] mtd: rawnand: plat_nand: " Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 128/136] mtd: rawnand: mtk: " Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 129/136] mtd: rawnand: tmio: " Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 130/136] crypto: algif_skcipher - Cap recv SG list at ctx->used Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 131/136] crypto: algboss - dont wait during notifier callback Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 132/136] kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 133/136] e1000e: Do not wake up the system via WOL if device wakeup is disabled Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 134/136] kretprobe: Prevent triggering kretprobe from within kprobe_flush_task Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 135/136] sched/rt, net: Use CONFIG_PREEMPTION.patch Greg Kroah-Hartman
2020-06-23 19:59 ` [PATCH 4.14 136/136] net: core: device_rename: Use rwsem instead of a seqcount Greg Kroah-Hartman
2020-06-24 13:26 ` [PATCH 4.14 000/136] 4.14.186-rc1 review Guenter Roeck
2020-06-24 22:01 ` Shuah Khan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20200623195309.720758916@linuxfoundation.org \
--to=gregkh@linuxfoundation.org \
--cc=boris.brezillon@bootlin.com \
--cc=linux-kernel@vger.kernel.org \
--cc=miquel.raynal@bootlin.com \
--cc=sashal@kernel.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).