public inbox for linux-mtd@lists.infradead.org
 help / color / mirror / Atom feed
From: "Ruslan V. Sushko" <rsushko@ru.mvista.com>
To: Vitaly Wool <vwool@ru.mvista.com>
Cc: linux-mtd@lists.infradead.org
Subject: Re: [PATCH] NAND Flash support for Intel IXP4xx platform
Date: Fri, 20 Apr 2007 18:16:26 +0400	[thread overview]
Message-ID: <4628CB3A.3000701@ru.mvista.com> (raw)
In-Reply-To: <462878F9.2090603@ru.mvista.com>

Vitaly Wool wrote:
> Ruslan V. Sushko wrote:
>> +static struct ixp4xx_faddr_t {
>> +    int offset;
>> +    void (*chip_select)(unsigned int ctrl);
>> +} ixp4xx_faddr_info = {0, NULL};
>>   
> ixp4xx_faddr_t is a nice name for a structure ;)
> What the initialization to {0, NULL} is for? 
just through habit. What's wrong here?
> Also, if this is a per-chip thing as might be concluded by placing its 
> pointer into this->priv, why do you make it static structure?
> Same goes for
>
>> +static struct mtd_info *ixp4xx_mtd = NULL;
>> +static struct mtd_partition *ixp4xx_nand_parts = NULL;
>>   +
>> +    for ( i = 0 ; i < len ; i++ )
>> +        writeb(buf[i], this->IO_ADDR_W + addr_info->offset);
>>   
> Wrong whitespacing.
Will fixed
>> +}
>> +
>> +static void
>> +ixp4xx_hwcontrol(struct mtd_info *mtd, int cmd, unsigned int ctrl)
>> +{
>> +    struct nand_chip *this = mtd->priv;
>> +    struct ixp4xx_faddr_t *addr_info = this->priv;
>> +    if (ctrl & NAND_CTRL_CHANGE) {
>> +        addr_info->offset  = (ctrl & NAND_CLE) ? 1 : 0;
>> +        addr_info->offset |= (ctrl & NAND_ALE) ? 2 : 0;
>> +        if (addr_info->chip_select)
>> +            addr_info->chip_select(ctrl);
>> +    }
>> +
>> +    if (cmd != NAND_CMD_NONE)
>> +        writeb(cmd, this->IO_ADDR_W + addr_info->offset);
>> +}
>>   
> Wait please, can you explain the logic here?
> It looks like you'll be writing by ixp_write_buf to different base 
> addresses depending on how ctrl was set.
> Is this the expected behavior?
Yes it is. Two low bits of address bus is connected to ALE/CLE signals. 
Generally it not necessary for wrietbuff  routine, but it will not be 
error on this level, by the way I'll remove it. The hwcontrol must work 
in this way.
>
>> +    if ( nb_of_parts <= 0 )  { /* No partition from parsing, use 
>> default */
>>   
> Wrong whitespacing.
will fix
>> +        printk(KERN_INFO "Loading default partition table\n");
>> +        ixp4xx_nand_parts = plat->parts;
>> +        nb_of_parts = plat->nr_parts;
>> +    }
>> +
>> +    /* Register the partitions */
>> +    err = add_mtd_partitions(ixp4xx_mtd, ixp4xx_nand_parts, 
>> nb_of_parts);
>> +    if (err)  {
>> +        printk(KERN_ERR "Failed to add MTD partitions\n");
>> +        if ( ixp4xx_nand_parts != plat->parts )
>> +        kfree(ixp4xx_nand_parts);
>>   
> Wrong indentation.
> Moreover, if the number of partitions obtained by parse_mtd_partitions 
> is the same as the one provided by platform data, you'll get leakage 
> here.
how this can happens? Please describe.

>
> Vitaly
>

Best reagards,
Ruslan Sushko

  reply	other threads:[~2007-04-20 14:16 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2007-04-19 10:29 [PATCH] NAND Flash support for Intel IXP4xx platform Ruslan V. Sushko
2007-04-20  8:25 ` Vitaly Wool
2007-04-20 14:16   ` Ruslan V. Sushko [this message]
2007-04-24  7:21     ` Vitaly Wool
2007-04-24  8:29       ` Ruslan V. Sushko
2007-04-24  8:34         ` Vitaly Wool
2007-04-24 10:33   ` Ruslan V. Sushko
2007-04-24 10:38     ` Lennert Buytenhek
2007-04-24 10:46       ` Ruslan V. Sushko
2007-04-24 10:49         ` Lennert Buytenhek
2007-04-24 10:53           ` Vitaly Wool
2007-04-24 11:01             ` Lennert Buytenhek
2007-04-24 11:10               ` Ruslan V. Sushko
2007-04-24 11:21               ` Vitaly Wool

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=4628CB3A.3000701@ru.mvista.com \
    --to=rsushko@ru.mvista.com \
    --cc=linux-mtd@lists.infradead.org \
    --cc=vwool@ru.mvista.com \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox