Re: [PATCH 1/5] mtd: nand: remove NAND_ATMEL_PMECC

2014-09-01 Thread Sascha Hauer
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

2014-08-06 Thread Raphaël Poggi
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

2014-08-05 Thread Raphaël Poggi
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

2014-08-05 Thread Jean-Christophe PLAGNIOL-VILLARD
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