* [PATCH 1/2] mtd: rawnand: lpc32xx_slc: Remove platform data support
2026-09-03 11:24 [PATCH 0/2] mtd: rawnand: lpc32xx: Remove platform data support from drivers Vladimir Zapolskiy
@ 2026-09-03 11:24 ` Vladimir Zapolskiy
2026-09-03 11:24 ` [PATCH 2/2] mtd: rawnand: lpc32xx_mlc: " Vladimir Zapolskiy
2026-09-03 12:28 ` [PATCH 0/2] mtd: rawnand: lpc32xx: Remove platform data support from drivers Miquel Raynal
2 siblings, 0 replies; 5+ messages in thread
From: Vladimir Zapolskiy @ 2026-09-03 11:24 UTC (permalink / raw)
To: Miquel Raynal
Cc: Richard Weinberger, Vignesh Raghavendra, Piotr Wojtaszczyk,
linux-mtd, linux-arm-kernel
Since NXP LPC32xx SoC support in the Linux kernel strictly depends on
device tree support, the unused platform data support can be removed
from the NAND SLC driver.
Signed-off-by: Vladimir Zapolskiy <vz@kernel.org>
---
drivers/mtd/nand/raw/lpc32xx_slc.c | 21 ++-------------------
include/linux/mtd/lpc32xx_slc.h | 17 -----------------
2 files changed, 2 insertions(+), 36 deletions(-)
delete mode 100644 include/linux/mtd/lpc32xx_slc.h
diff --git a/drivers/mtd/nand/raw/lpc32xx_slc.c b/drivers/mtd/nand/raw/lpc32xx_slc.c
index 10c8080207f4..b4d90afa9267 100644
--- a/drivers/mtd/nand/raw/lpc32xx_slc.c
+++ b/drivers/mtd/nand/raw/lpc32xx_slc.c
@@ -25,7 +25,6 @@
#include <linux/dmaengine.h>
#include <linux/gpio/consumer.h>
#include <linux/of.h>
-#include <linux/mtd/lpc32xx_slc.h>
#define LPC32XX_MODNAME "lpc32xx-nand"
@@ -213,7 +212,6 @@ struct lpc32xx_nand_cfg_slc {
struct lpc32xx_nand_host {
struct nand_chip nand_chip;
- struct lpc32xx_slc_platform_data *pdata;
struct clk *clk;
struct gpio_desc *wp_gpio;
void __iomem *io_base;
@@ -727,24 +725,11 @@ static int lpc32xx_nand_write_page_raw_syndrome(struct nand_chip *chip,
static int lpc32xx_nand_dma_setup(struct lpc32xx_nand_host *host)
{
struct mtd_info *mtd = nand_to_mtd(&host->nand_chip);
- dma_cap_mask_t mask;
host->dma_chan = dma_request_chan(mtd->dev.parent, "rx-tx");
if (IS_ERR(host->dma_chan)) {
- /* fallback to request using platform data */
- if (!host->pdata || !host->pdata->dma_filter) {
- dev_err(mtd->dev.parent, "no DMA platform data\n");
- return -ENOENT;
- }
-
- dma_cap_zero(mask);
- dma_cap_set(DMA_SLAVE, mask);
- host->dma_chan = dma_request_channel(mask, host->pdata->dma_filter, "nand-slc");
-
- if (!host->dma_chan) {
- dev_err(mtd->dev.parent, "Failed to request DMA channel\n");
- return -EBUSY;
- }
+ dev_err(mtd->dev.parent, "Failed to request DMA channel\n");
+ return PTR_ERR(host->dma_chan);
}
return 0;
@@ -873,8 +858,6 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
gpiod_set_consumer_name(host->wp_gpio, "NAND WP");
- host->pdata = dev_get_platdata(&pdev->dev);
-
chip = &host->nand_chip;
mtd = nand_to_mtd(chip);
nand_set_controller_data(chip, host);
diff --git a/include/linux/mtd/lpc32xx_slc.h b/include/linux/mtd/lpc32xx_slc.h
deleted file mode 100644
index a044b806566b..000000000000
--- a/include/linux/mtd/lpc32xx_slc.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Platform data for LPC32xx SoC SLC NAND controller
- *
- * Copyright © 2012 Roland Stigge
- */
-
-#ifndef __LINUX_MTD_LPC32XX_SLC_H
-#define __LINUX_MTD_LPC32XX_SLC_H
-
-#include <linux/dmaengine.h>
-
-struct lpc32xx_slc_platform_data {
- dma_filter_fn dma_filter;
-};
-
-#endif /* __LINUX_MTD_LPC32XX_SLC_H */
--
2.51.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* [PATCH 2/2] mtd: rawnand: lpc32xx_mlc: Remove platform data support
2026-09-03 11:24 [PATCH 0/2] mtd: rawnand: lpc32xx: Remove platform data support from drivers Vladimir Zapolskiy
2026-09-03 11:24 ` [PATCH 1/2] mtd: rawnand: lpc32xx_slc: Remove platform data support Vladimir Zapolskiy
@ 2026-09-03 11:24 ` Vladimir Zapolskiy
2026-09-03 12:28 ` [PATCH 0/2] mtd: rawnand: lpc32xx: Remove platform data support from drivers Miquel Raynal
2 siblings, 0 replies; 5+ messages in thread
From: Vladimir Zapolskiy @ 2026-09-03 11:24 UTC (permalink / raw)
To: Miquel Raynal
Cc: Richard Weinberger, Vignesh Raghavendra, Piotr Wojtaszczyk,
linux-mtd, linux-arm-kernel
Since NXP LPC32xx SoC support in the Linux kernel strictly depends on
device tree support, the unused platform data support can be removed
from the NAND MLC driver.
Signed-off-by: Vladimir Zapolskiy <vz@kernel.org>
---
drivers/mtd/nand/raw/lpc32xx_mlc.c | 21 ++-------------------
include/linux/mtd/lpc32xx_mlc.h | 17 -----------------
2 files changed, 2 insertions(+), 36 deletions(-)
delete mode 100644 include/linux/mtd/lpc32xx_mlc.h
diff --git a/drivers/mtd/nand/raw/lpc32xx_mlc.c b/drivers/mtd/nand/raw/lpc32xx_mlc.c
index 8f6a89d9ba83..8436015edcb4 100644
--- a/drivers/mtd/nand/raw/lpc32xx_mlc.c
+++ b/drivers/mtd/nand/raw/lpc32xx_mlc.c
@@ -26,7 +26,6 @@
#include <linux/interrupt.h>
#include <linux/of.h>
#include <linux/gpio/consumer.h>
-#include <linux/mtd/lpc32xx_mlc.h>
#include <linux/io.h>
#include <linux/mm.h>
#include <linux/dma-mapping.h>
@@ -174,7 +173,6 @@ static struct nand_bbt_descr lpc32xx_nand_bbt_mirror = {
struct lpc32xx_nand_host {
struct platform_device *pdev;
struct nand_chip nand_chip;
- struct lpc32xx_mlc_platform_data *pdata;
struct clk *clk;
struct gpio_desc *wp_gpio;
void __iomem *io_base;
@@ -580,24 +578,11 @@ static void lpc32xx_ecc_enable(struct nand_chip *chip, int mode)
static int lpc32xx_dma_setup(struct lpc32xx_nand_host *host)
{
struct mtd_info *mtd = nand_to_mtd(&host->nand_chip);
- dma_cap_mask_t mask;
host->dma_chan = dma_request_chan(mtd->dev.parent, "rx-tx");
if (IS_ERR(host->dma_chan)) {
- /* fallback to request using platform data */
- if (!host->pdata || !host->pdata->dma_filter) {
- dev_err(mtd->dev.parent, "no DMA platform data\n");
- return -ENOENT;
- }
-
- dma_cap_zero(mask);
- dma_cap_set(DMA_SLAVE, mask);
- host->dma_chan = dma_request_channel(mask, host->pdata->dma_filter, "nand-mlc");
-
- if (!host->dma_chan) {
- dev_err(mtd->dev.parent, "Failed to request DMA channel\n");
- return -EBUSY;
- }
+ dev_err(mtd->dev.parent, "Failed to request DMA channel\n");
+ return PTR_ERR(host->dma_chan);
}
/*
@@ -736,8 +721,6 @@ static int lpc32xx_nand_probe(struct platform_device *pdev)
gpiod_set_consumer_name(host->wp_gpio, "NAND WP");
- host->pdata = dev_get_platdata(&pdev->dev);
-
/* link the private data structures */
nand_set_controller_data(nand_chip, host);
nand_set_flash_node(nand_chip, pdev->dev.of_node);
diff --git a/include/linux/mtd/lpc32xx_mlc.h b/include/linux/mtd/lpc32xx_mlc.h
deleted file mode 100644
index 35e971be0950..000000000000
--- a/include/linux/mtd/lpc32xx_mlc.h
+++ /dev/null
@@ -1,17 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Platform data for LPC32xx SoC MLC NAND controller
- *
- * Copyright © 2012 Roland Stigge
- */
-
-#ifndef __LINUX_MTD_LPC32XX_MLC_H
-#define __LINUX_MTD_LPC32XX_MLC_H
-
-#include <linux/dmaengine.h>
-
-struct lpc32xx_mlc_platform_data {
- dma_filter_fn dma_filter;
-};
-
-#endif /* __LINUX_MTD_LPC32XX_MLC_H */
--
2.51.0
^ permalink raw reply related [flat|nested] 5+ messages in thread* Re: [PATCH 0/2] mtd: rawnand: lpc32xx: Remove platform data support from drivers
2026-09-03 11:24 [PATCH 0/2] mtd: rawnand: lpc32xx: Remove platform data support from drivers Vladimir Zapolskiy
2026-09-03 11:24 ` [PATCH 1/2] mtd: rawnand: lpc32xx_slc: Remove platform data support Vladimir Zapolskiy
2026-09-03 11:24 ` [PATCH 2/2] mtd: rawnand: lpc32xx_mlc: " Vladimir Zapolskiy
@ 2026-09-03 12:28 ` Miquel Raynal
2026-09-03 13:23 ` Vladimir Zapolskiy
2 siblings, 1 reply; 5+ messages in thread
From: Miquel Raynal @ 2026-09-03 12:28 UTC (permalink / raw)
To: Vladimir Zapolskiy
Cc: Richard Weinberger, Vignesh Raghavendra, Piotr Wojtaszczyk,
linux-mtd, linux-arm-kernel
Hello Vladimir,
On 03/09/2026 at 14:24:22 +03, Vladimir Zapolskiy <vz@kernel.org> wrote:
> Since NXP LPC32xx SoC support in the Linux kernel strictly depends on
> device tree support, the unused platform data support can be removed
> from the LPC32xx NAND MLC and SLC drivers.
>
> Vladimir Zapolskiy (2):
> mtd: rawnand: lpc32xx_slc: Remove platform data support
> mtd: rawnand: lpc32xx_mlc: Remove platform data support
>
> drivers/mtd/nand/raw/lpc32xx_mlc.c | 21 ++-------------------
> drivers/mtd/nand/raw/lpc32xx_slc.c | 21 ++-------------------
> include/linux/mtd/lpc32xx_mlc.h | 17 -----------------
> include/linux/mtd/lpc32xx_slc.h | 17 -----------------
> 4 files changed, 4 insertions(+), 72 deletions(-)
> delete mode 100644 include/linux/mtd/lpc32xx_mlc.h
> delete mode 100644 include/linux/mtd/lpc32xx_slc.h
Sashiko raises a build issue due to the cleanup missing one use of a
header. Can you please check?
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 0/2] mtd: rawnand: lpc32xx: Remove platform data support from drivers
2026-09-03 12:28 ` [PATCH 0/2] mtd: rawnand: lpc32xx: Remove platform data support from drivers Miquel Raynal
@ 2026-09-03 13:23 ` Vladimir Zapolskiy
0 siblings, 0 replies; 5+ messages in thread
From: Vladimir Zapolskiy @ 2026-09-03 13:23 UTC (permalink / raw)
To: Miquel Raynal
Cc: Richard Weinberger, Vignesh Raghavendra, Piotr Wojtaszczyk,
linux-mtd, linux-arm-kernel
Hi Miquel,
On 9/3/26 15:28, Miquel Raynal wrote:
> Hello Vladimir,
>
> On 03/09/2026 at 14:24:22 +03, Vladimir Zapolskiy <vz@kernel.org> wrote:
>
>> Since NXP LPC32xx SoC support in the Linux kernel strictly depends on
>> device tree support, the unused platform data support can be removed
>> from the LPC32xx NAND MLC and SLC drivers.
>>
>> Vladimir Zapolskiy (2):
>> mtd: rawnand: lpc32xx_slc: Remove platform data support
>> mtd: rawnand: lpc32xx_mlc: Remove platform data support
>>
>> drivers/mtd/nand/raw/lpc32xx_mlc.c | 21 ++-------------------
>> drivers/mtd/nand/raw/lpc32xx_slc.c | 21 ++-------------------
>> include/linux/mtd/lpc32xx_mlc.h | 17 -----------------
>> include/linux/mtd/lpc32xx_slc.h | 17 -----------------
>> 4 files changed, 4 insertions(+), 72 deletions(-)
>> delete mode 100644 include/linux/mtd/lpc32xx_mlc.h
>> delete mode 100644 include/linux/mtd/lpc32xx_slc.h
>
> Sashiko raises a build issue due to the cleanup missing one use of a
> header. Can you please check?
>
sure, from its report [1] I see that Sashiko bot verifies the changes
against today's outdated v7.2, and therefore it produced a false positive
error, since v7.3-rc1 contains the commit d6ef4391897d ("ARM: lpc32xx:
remove a few manually populated OF devices").
There should be no build errors introduced by this series, thanks for review.
[1] https://sashiko.dev/#/patchset/20260903112425.1904748-1-vz%40kernel.org
--
Best wishes,
Vladimir
^ permalink raw reply [flat|nested] 5+ messages in thread