All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2 1/5] at91: atmel_nand: extract HWECC initialization code into one function: atmel_hw_nand_init_param().
Date: Mon, 20 Aug 2012 20:21:05 -0500	[thread overview]
Message-ID: <5032E281.6000906@freescale.com> (raw)
In-Reply-To: <502CB5CC.10601@gmail.com>

On 08/16/2012 03:56 AM, Andreas Bie?mann wrote:
> Dear Josh Wu,
> 
> On 16.08.2012 07:05, Josh Wu wrote:
>> Extract the hwecc initialization code into one function. It is a preparation for adding atmel PMECC support.
>>
>> Signed-off-by: Josh Wu <josh.wu@atmel.com>
>> ---
>>  drivers/mtd/nand/atmel_nand.c |  108 ++++++++++++++++++++++-------------------
>>  1 file changed, 57 insertions(+), 51 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c
>> index de66382..113da93 100644
>> --- a/drivers/mtd/nand/atmel_nand.c
>> +++ b/drivers/mtd/nand/atmel_nand.c
>> @@ -232,68 +232,19 @@ static int atmel_nand_correct(struct mtd_info *mtd, u_char *dat,
>>  static void atmel_nand_hwctl(struct mtd_info *mtd, int mode)
>>  {
>>  }
>> -#endif
>> -
>> -static void at91_nand_hwcontrol(struct mtd_info *mtd,
>> -					 int cmd, unsigned int ctrl)
>> -{
>> -	struct nand_chip *this = mtd->priv;
>> -
>> -	if (ctrl & NAND_CTRL_CHANGE) {
>> -		ulong IO_ADDR_W = (ulong) this->IO_ADDR_W;
>> -		IO_ADDR_W &= ~(CONFIG_SYS_NAND_MASK_ALE
>> -			     | CONFIG_SYS_NAND_MASK_CLE);
>> -
>> -		if (ctrl & NAND_CLE)
>> -			IO_ADDR_W |= CONFIG_SYS_NAND_MASK_CLE;
>> -		if (ctrl & NAND_ALE)
>> -			IO_ADDR_W |= CONFIG_SYS_NAND_MASK_ALE;
>> -
>> -#ifdef CONFIG_SYS_NAND_ENABLE_PIN
>> -		at91_set_gpio_value(CONFIG_SYS_NAND_ENABLE_PIN,
>> -				    !(ctrl & NAND_NCE));
>> -#endif
>> -		this->IO_ADDR_W = (void *) IO_ADDR_W;
>> -	}
>> -
>> -	if (cmd != NAND_CMD_NONE)
>> -		writeb(cmd, this->IO_ADDR_W);
>> -}
>>  
>> -#ifdef CONFIG_SYS_NAND_READY_PIN
>> -static int at91_nand_ready(struct mtd_info *mtd)
>> +int atmel_hw_nand_init_param(struct nand_chip *nand)
> 
> Grr ... just realized your kernel patch has the same named function. I
> would have named it with 'ecc' in ... nevertheless I would accept this.
> 
>>  {
>> -	return at91_get_gpio_value(CONFIG_SYS_NAND_READY_PIN);
>> -}
>> -#endif
>> -
>> -int board_nand_init(struct nand_chip *nand)
>> -{
>> -#ifdef CONFIG_ATMEL_NAND_HWECC
>>  	static int chip_nr = 0;
> 
> This seems to be an remnant. It seems this is a mixture between
> 'SELF_INIT' and older initialization by common nand code. Can you please
> adopt to the CONFIG_SYS_NAND_SELFINIT? -> please read doc/REDME.nand
> If I got this correctly you just need to move this static chip_nr plus
> mtd detection (nand_scan_ident()) into the board_nand_init() and call it
> _always_. Next step is to define CONFIG_SYS_NAND_SELFINIT in
> include/nand.h and fix compiler issues (board_nand_init then has no
> parameter).

nand_scan_tail() needs to be called at some point too (or just call
nand_scan() if you don't have anything to do in between).

> I dunno if this is ok to call the nand_scan_ident twice when hwecc is
> enabled. Scott, can you please comment?

It's not how the function is meant to be used.

-Scott

  parent reply	other threads:[~2012-08-21  1:21 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-08-16  5:05 [U-Boot] [PATCH v2 0/5] at91: 9x5: Enable PMECC(Programmable Multibit ECC controller) support Josh Wu
2012-08-16  5:05 ` [U-Boot] [PATCH v2 1/5] at91: atmel_nand: extract HWECC initialization code into one function: atmel_hw_nand_init_param() Josh Wu
2012-08-16  8:56   ` Andreas Bießmann
2012-08-20 10:13     ` Josh Wu
2012-08-21  1:21     ` Scott Wood [this message]
2012-08-16  5:05 ` [U-Boot] [PATCH v2 2/5] at91: atmel_nand: remove unused variables Josh Wu
2012-08-21  1:22   ` Scott Wood
2012-08-16  5:05 ` [U-Boot] [PATCH v2 3/5] at91: atmel_nand: Update driver to support Programmable Multibit ECC controller Josh Wu
2012-08-17  9:24   ` Andreas Bießmann
2012-08-21 10:37     ` Josh Wu
2012-08-21 20:39       ` Scott Wood
2012-08-22  3:26         ` Josh Wu
2012-08-21  1:37   ` Scott Wood
2012-08-16  5:05 ` [U-Boot] [PATCH v2 4/5] at91: 9x5: change SMC config timing that both works for PMECC & non-PMECC Josh Wu
2012-08-21 10:46   ` Andreas Bießmann
2012-08-22  7:11     ` Josh Wu
2012-08-16  5:05 ` [U-Boot] [PATCH v2 5/5] at91: 9x5: Enable PMECC for 5series ek board Josh Wu

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=5032E281.6000906@freescale.com \
    --to=scottwood@freescale.com \
    --cc=u-boot@lists.denx.de \
    /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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.