Re: [PATCH 1/5] mtd: nand: remove NAND_ATMEL_PMECC
On Wed, Aug 06, 2014 at 09:21:52AM +0200, Raphaël Poggi wrote: Ok, I did it because we need a structure member to retrieve atmel,has-pmecc from device tree. Is this ok if I add the has_pmecc member (feed by atmel_nand_of_init), let the NAND_ATMEL_PMECC, and the if will be like : if (IS_ENABLED(CONFIG_NAND_ATMEL_PMECC) || pdata-has_pmecc) Shouldn't this be instead of ||? Otherwise this approach should be fine. Sascha -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0| Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917- | ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
Re: [PATCH 1/5] mtd: nand: remove NAND_ATMEL_PMECC
Ok, I did it because we need a structure member to retrieve atmel,has-pmecc from device tree. Is this ok if I add the has_pmecc member (feed by atmel_nand_of_init), let the NAND_ATMEL_PMECC, and the if will be like : if (IS_ENABLED(CONFIG_NAND_ATMEL_PMECC) || pdata-has_pmecc) With this we can handle device tree/non device tree probing. Or maybe you have a better idea. Best regards, Raphaël Poggi 2014-08-06 6:08 GMT+02:00 Jean-Christophe PLAGNIOL-VILLARD plagn...@jcrosoft.com: On 11:14 Tue 05 Aug , Rapha??l Poggi wrote: By removing this CONFIG_, we can use a structure member to retrieve the config, either through the plateform data or through the device tree. So we can handle cases when the driver is probed using device tree or not. NACK this is use to reduce barebox size keep the NAND_ATMEL_PMECC so we choose to enable it or not Best Regards, J. Signed-off-by: Raphaël Poggi poggi.r...@gmail.com --- arch/arm/mach-at91/include/mach/board.h |1 + drivers/mtd/nand/Kconfig|8 drivers/mtd/nand/atmel_nand.c |2 +- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h index aa0fdae..e2307ed 100644 --- a/arch/arm/mach-at91/include/mach/board.h +++ b/arch/arm/mach-at91/include/mach/board.h @@ -63,6 +63,7 @@ struct atmel_nand_data { u8 bus_width_16; /* buswidth is 16 bit */ u8 ecc_mode; /* NAND_ECC_* */ u8 on_flash_bbt; /* Use flash based bbt */ + u8 has_pmecc; /* Use PMECC */ u8 bus_on_d0; u8 pmecc_corr_cap; diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 04fe3c8..d49eae3 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -95,14 +95,6 @@ config NAND_ATMEL prompt Atmel (AT91SAM9xxx) NAND driver depends on ARCH_AT91 -config NAND_ATMEL_PMECC - bool - prompt PMECC support - depends on NAND_ATMEL - select NAND_ECC_HW - help - Support for PMECC present on the SoC sam9x5 and sam9n12 - config NAND_S3C24XX bool prompt Samsung S3C24XX NAND driver diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index 337e225..3ec6450 100644 --- a/drivers/mtd/nand/atmel_nand.c +++ b/drivers/mtd/nand/atmel_nand.c @@ -1219,7 +1219,7 @@ static int __init atmel_nand_probe(struct device_d *dev) if (IS_ENABLED(CONFIG_NAND_ECC_HW) nand_chip-ecc.mode == NAND_ECC_HW) { - if (IS_ENABLED(CONFIG_NAND_ATMEL_PMECC)) + if (pdata-has_pmecc) res = atmel_pmecc_nand_init_params(dev, host); else res = atmel_hw_nand_init_params(dev, host); -- 1.7.9.5 ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
[PATCH 1/5] mtd: nand: remove NAND_ATMEL_PMECC
By removing this CONFIG_, we can use a structure member to retrieve the config, either through the plateform data or through the device tree. So we can handle cases when the driver is probed using device tree or not. Signed-off-by: Raphaël Poggi poggi.r...@gmail.com --- arch/arm/mach-at91/include/mach/board.h |1 + drivers/mtd/nand/Kconfig|8 drivers/mtd/nand/atmel_nand.c |2 +- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h index aa0fdae..e2307ed 100644 --- a/arch/arm/mach-at91/include/mach/board.h +++ b/arch/arm/mach-at91/include/mach/board.h @@ -63,6 +63,7 @@ struct atmel_nand_data { u8 bus_width_16; /* buswidth is 16 bit */ u8 ecc_mode; /* NAND_ECC_* */ u8 on_flash_bbt; /* Use flash based bbt */ + u8 has_pmecc; /* Use PMECC */ u8 bus_on_d0; u8 pmecc_corr_cap; diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 04fe3c8..d49eae3 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -95,14 +95,6 @@ config NAND_ATMEL prompt Atmel (AT91SAM9xxx) NAND driver depends on ARCH_AT91 -config NAND_ATMEL_PMECC - bool - prompt PMECC support - depends on NAND_ATMEL - select NAND_ECC_HW - help - Support for PMECC present on the SoC sam9x5 and sam9n12 - config NAND_S3C24XX bool prompt Samsung S3C24XX NAND driver diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index 337e225..3ec6450 100644 --- a/drivers/mtd/nand/atmel_nand.c +++ b/drivers/mtd/nand/atmel_nand.c @@ -1219,7 +1219,7 @@ static int __init atmel_nand_probe(struct device_d *dev) if (IS_ENABLED(CONFIG_NAND_ECC_HW) nand_chip-ecc.mode == NAND_ECC_HW) { - if (IS_ENABLED(CONFIG_NAND_ATMEL_PMECC)) + if (pdata-has_pmecc) res = atmel_pmecc_nand_init_params(dev, host); else res = atmel_hw_nand_init_params(dev, host); -- 1.7.9.5 ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox
Re: [PATCH 1/5] mtd: nand: remove NAND_ATMEL_PMECC
On 11:14 Tue 05 Aug , Rapha??l Poggi wrote: By removing this CONFIG_, we can use a structure member to retrieve the config, either through the plateform data or through the device tree. So we can handle cases when the driver is probed using device tree or not. NACK this is use to reduce barebox size keep the NAND_ATMEL_PMECC so we choose to enable it or not Best Regards, J. Signed-off-by: Raphaël Poggi poggi.r...@gmail.com --- arch/arm/mach-at91/include/mach/board.h |1 + drivers/mtd/nand/Kconfig|8 drivers/mtd/nand/atmel_nand.c |2 +- 3 files changed, 2 insertions(+), 9 deletions(-) diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h index aa0fdae..e2307ed 100644 --- a/arch/arm/mach-at91/include/mach/board.h +++ b/arch/arm/mach-at91/include/mach/board.h @@ -63,6 +63,7 @@ struct atmel_nand_data { u8 bus_width_16; /* buswidth is 16 bit */ u8 ecc_mode; /* NAND_ECC_* */ u8 on_flash_bbt; /* Use flash based bbt */ + u8 has_pmecc; /* Use PMECC */ u8 bus_on_d0; u8 pmecc_corr_cap; diff --git a/drivers/mtd/nand/Kconfig b/drivers/mtd/nand/Kconfig index 04fe3c8..d49eae3 100644 --- a/drivers/mtd/nand/Kconfig +++ b/drivers/mtd/nand/Kconfig @@ -95,14 +95,6 @@ config NAND_ATMEL prompt Atmel (AT91SAM9xxx) NAND driver depends on ARCH_AT91 -config NAND_ATMEL_PMECC - bool - prompt PMECC support - depends on NAND_ATMEL - select NAND_ECC_HW - help - Support for PMECC present on the SoC sam9x5 and sam9n12 - config NAND_S3C24XX bool prompt Samsung S3C24XX NAND driver diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index 337e225..3ec6450 100644 --- a/drivers/mtd/nand/atmel_nand.c +++ b/drivers/mtd/nand/atmel_nand.c @@ -1219,7 +1219,7 @@ static int __init atmel_nand_probe(struct device_d *dev) if (IS_ENABLED(CONFIG_NAND_ECC_HW) nand_chip-ecc.mode == NAND_ECC_HW) { - if (IS_ENABLED(CONFIG_NAND_ATMEL_PMECC)) + if (pdata-has_pmecc) res = atmel_pmecc_nand_init_params(dev, host); else res = atmel_hw_nand_init_params(dev, host); -- 1.7.9.5 ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox ___ barebox mailing list barebox@lists.infradead.org http://lists.infradead.org/mailman/listinfo/barebox