mtd: rawnand: mxc: Remove platform data support
Subsystems (3)
Fabio Estevam
reviewerPATCH v2 1/1 mtd: rawnand: mxc: Remove platform data support
i.MX is a devicetree-only platform now and the existing platform data support in this driver was only useful for old non-devicetree platforms.
Get rid of the platform data support since it is no longer used.
---
Changes since v1:
- Remove more unused structures and inline mxcnd_probe_dt() - Sascha
drivers/mtd/nand/raw/Kconfig | 2 +- drivers/mtd/nand/raw/mxc_nand.c | 75 ++-------------------- include/linux/platform_data/mtd-mxc_nand.h | 19 ------ 3 files changed, 5 insertions(+), 91 deletions(-) delete mode 100644 include/linux/platform_data/mtd-mxc_nand.h
drivers/mtd/nand/raw/Kconfig +1 -1
@@ -292,7 +292,7 @@ config MTD_NAND_VF610_NFC config MTD_NAND_MXC tristate "Freescale MXC NAND controller" depends on ARCH_MXC || COMPILE_TEST - depends on HAS_IOMEM + depends on HAS_IOMEM && OF help This enables the driver for the NAND flash controller on the MXC processors.
drivers/mtd/nand/raw/mxc_nand.c +4 -71
129 lines not on this page · raw message
include/linux/platform_data/mtd-mxc_nand.h deleted +0 -19
@@ -1,19 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* -* Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. -* Copyright 2008 Sascha Hauer, [email protected] -*/ - -#ifndef __ASM_ARCH_NAND_H -#define __ASM_ARCH_NAND_H - -#include <linux/mtd/partitions.h> - -struct mxc_nand_platform_data { -unsigned int width;/* data bus width in bytes */ -unsigned int hw_ecc:1 ;/* 0 if suppress hardware ECC */ -unsigned int flash_bbt:1 ;/* set to 1 to use a flash based bbt */ -struct mtd_partition *parts;/* partition table */ -int nr_parts;/* size of parts */ -}; -#endif /* __ASM_ARCH_NAND_H */
Signature · 6 lines
2.17.1 ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
Quoted 9 lines · Fabio Estevam
i.MX is a devicetree-only platform now and the existing platform data support in this driver was only useful for old non-devicetree platforms.
Get rid of the platform data support since it is no longer used.
Signed-off-by Fabio Estevam <[email protected]>---
Changes since v1:
- Remove more unused structures and inlinemxcnd_probe_dt()- Sascha
Sascha
Quoted 192 lines
drivers/mtd/nand/raw/Kconfig | 2 +- drivers/mtd/nand/raw/mxc_nand.c | 75 ++-------------------- include/linux/platform_data/mtd-mxc_nand.h | 19 ------ 3 files changed, 5 insertions(+), 91 deletions(-) delete mode 100644 include/linux/platform_data/mtd-mxc_nand.hdrivers/mtd/nand/raw/Kconfig +1
-1@@ -292,7 +292,7 @@ config MTD_NAND_VF610_NFC config MTD_NAND_MXC tristate "Freescale MXC NAND controller" depends on ARCH_MXC || COMPILE_TEST - depends on HAS_IOMEM + depends on HAS_IOMEM && OF help This enables the driver for the NAND flash controller on the MXC processors.drivers/mtd/nand/raw/mxc_nand.c +4
-71@@ -21,7 +21,6 @@#include <linux/completion.h> #include <linux/of.h> #include <linux/of_device.h> -#include <linux/platform_data/mtd-mxc_nand.h> #define DRIVER_NAME "mxc_nand"@@ -184,7 +183,6 @@ struct mxc_nand_host {unsigned int buf_start;const struct mxc_nand_devtype_data *devtype_data; -struct mxc_nand_platform_data pdata; };static const char *const part_probes[] = {@@ -1611,29 +1609,6 @@ static inline int is_imx53_nfc(struct mxc_nand_host *host)return host->devtype_data == &imx53_nand_devtype_data; } -static const struct platform_device_id mxcnd_devtype[] = { - { - .name ="imx21-nand" , - .driver_data = (kernel_ulong_t) &imx21_nand_devtype_data, - }, { - .name ="imx27-nand" , - .driver_data = (kernel_ulong_t) &imx27_nand_devtype_data, - }, { - .name ="imx25-nand" , - .driver_data = (kernel_ulong_t) &imx25_nand_devtype_data, - }, { - .name ="imx51-nand" , - .driver_data = (kernel_ulong_t) &imx51_nand_devtype_data, - }, { - .name ="imx53-nand" , - .driver_data = (kernel_ulong_t) &imx53_nand_devtype_data, - }, { -/* sentinel */ - } -}; -MODULE_DEVICE_TABLE (platform, mxcnd_devtype); - -#ifdef CONFIG_OFstatic const struct of_device_id mxcnd_dt_ids[] = { { .compatible ="fsl,imx21-nand" ,@@ -1655,26 +1630,6 @@ static const struct of_device_id mxcnd_dt_ids[] = { };MODULE_DEVICE_TABLE (of, mxcnd_dt_ids); -static int mxcnd_probe_dt (struct mxc_nand_host *host) -{ -struct device_node *np = host->dev->of_node; -const struct of_device_id *of_id = -of_match_device (mxcnd_dt_ids, host->dev); - -if (!np) -return 1 ; - - host->devtype_data = of_id->data; - -return 0 ; -} -#else -static int mxcnd_probe_dt (struct mxc_nand_host *host) -{ -return 1 ; -} -#endif -static int mxcnd_attach_chip (struct nand_chip *chip) {struct mtd_info *mtd =nand_to_mtd (chip);@@ -1759,6 +1714,7 @@ static const struct nand_controller_ops mxcnd_controller_ops = {static int mxcnd_probe (struct platform_device *pdev) { +const struct of_device_id *of_id;struct nand_chip *this;struct mtd_info *mtd;struct mxc_nand_host *host;@@ -1800,20 +1756,8 @@ static int mxcnd_probe(struct platform_device *pdev)if (IS_ERR (host->clk))return PTR_ERR (host->clk); - err =mxcnd_probe_dt (host); -if (err >0 ) { -struct mxc_nand_platform_data *pdata = -dev_get_platdata (&pdev->dev); -if (pdata) { - host->pdata = *pdata; - host->devtype_data = (struct mxc_nand_devtype_data *) - pdev->id_entry->driver_data; - }else { - err = -ENODEV ; - } - } -if (err <0 ) -return err; + of_id =of_match_device (mxcnd_dt_ids, host->dev); + host->devtype_data = of_id->data;if (!host->devtype_data->setup_interface) this->options |=NAND_KEEP_TIMINGS ;@@ -1843,14 +1787,6 @@ static int mxcnd_probe(struct platform_device *pdev) this->legacy.select_chip = host->devtype_data->select_chip; -/* NAND bus width determines access functions used by upper layer */ -if (host->pdata.width ==2 ) - this->options |=NAND_BUSWIDTH_16 ; - -/* update flash based bbt */ -if (host->pdata.flash_bbt) - this->bbt_options |=NAND_BBT_USE_FLASH ; -init_completion (&host->op_completion); host->irq =platform_get_irq (pdev,0 );@@ -1891,9 +1827,7 @@ static int mxcnd_probe(struct platform_device *pdev) goto escan;/* Register the partitions */ - err =mtd_device_parse_register (mtd, part_probes,NULL , - host->pdata.parts, - host->pdata.nr_parts); + err =mtd_device_parse_register (mtd, part_probes,NULL ,NULL ,0 );if (err) goto cleanup_nand;@@ -1930,7 +1864,6 @@ static struct platform_driver mxcnd_driver = { .name = DRIVER_NAME, .of_match_table = of_match_ptr(mxcnd_dt_ids), }, - .id_table = mxcnd_devtype, .probe = mxcnd_probe, .remove = mxcnd_remove, };include/linux/platform_data/mtd-mxc_nand.h deleted +0
-19@@ -1,19 +0,0 @@ -/* SPDX-License-Identifier: GPL-2.0-or-later */ -/* -* Copyright 2004-2007 Freescale Semiconductor, Inc. All Rights Reserved. -* Copyright 2008 Sascha Hauer, [email protected] -*/ - -#ifndef __ASM_ARCH_NAND_H -#define __ASM_ARCH_NAND_H - -#include <linux/mtd/partitions.h> - -struct mxc_nand_platform_data { -unsigned int width;/* data bus width in bytes */ -unsigned int hw_ecc:1 ;/* 0 if suppress hardware ECC */ -unsigned int flash_bbt:1 ;/* set to 1 to use a flash based bbt */ -struct mtd_partition *parts;/* partition table */ -int nr_parts;/* size of parts */ -}; -#endif /* __ASM_ARCH_NAND_H */ Signature · 1 line
2.17.1
Signature · 8 lines
Pengutronix e.K. | | Steuerwalder Str. 21 | http://www.pengutronix.de/ | 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | ______________________________________________________ Linux MTD discussion mailing list http://lists.infradead.org/mailman/listinfo/linux-mtd/
Quoted 7 lines · Fabio Estevam
i.MX is a devicetree-only platform now and the existing platform data support in this driver was only useful for old non-devicetree platforms.
Get rid of the platform data support since it is no longer used.
Signed-off-by Fabio Estevam <[email protected]>Reviewed-by Sascha Hauer <[email protected]>
Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git nand/next, thanks.
Miquel
______________________________________________________
Linux MTD discussion mailing list
http://lists.infradead.org/mailman/listinfo/linux-mtd/