From: grinberg@compulab.co.il (Igor Grinberg)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/4] MTD: pxa3xx_nand: sperate each chip individual info
Date: Wed, 06 Jul 2011 10:29:16 +0300 [thread overview]
Message-ID: <4E140ECC.2000400@compulab.co.il> (raw)
In-Reply-To: <1309771536-10597-3-git-send-email-leiwen@marvell.com>
Hi Lei,
You are going to resubmit the series to merge patches 3 and 4, so
a small nitpick below
On 07/04/11 12:25, Lei Wen wrote:
> For support two chip select, we seperate chip specific info in this
> patch.
>
> Signed-off-by: Lei Wen <leiwen@marvell.com>
> ---
> drivers/mtd/nand/pxa3xx_nand.c | 281 ++++++++++++++++++++++------------------
> 1 files changed, 154 insertions(+), 127 deletions(-)
[...]
>
> static int pxa3xx_nand_detect_config(struct pxa3xx_nand_info *info)
> {
> + struct pxa3xx_nand_host *host = info->host;
> uint32_t ndcr = nand_readl(info, NDCR);
> - info->page_size = ndcr & NDCR_PAGE_SZ ? 2048 : 512;
> - /* set info fields needed to read id */
> - info->read_id_bytes = (info->page_size == 2048) ? 4 : 2;
> - info->reg_ndcr = ndcr & ~NDCR_INT_MASK;
> - info->cmdset = &default_cmdset;
>
> - info->ndtr0cs0 = nand_readl(info, NDTR0CS0);
> - info->ndtr1cs0 = nand_readl(info, NDTR1CS0);
> + if (ndcr & NDCR_PAGE_SZ) {
> + host->page_size = 2048;
> + host->read_id_bytes = 4;
> + } else {
> + host->page_size = 512;
> + host->read_id_bytes = 2;
> + }
empty line would be nice here
> + host->reg_ndcr = ndcr & ~NDCR_INT_MASK;
> + host->cmdset = &default_cmdset;
> +
> + host->ndtr0cs0 = nand_readl(info, NDTR0CS0);
> + host->ndtr1cs0 = nand_readl(info, NDTR1CS0);
>
> return 0;
> }
[...]
>
> @@ -933,14 +947,17 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
> }
>
> if (i >= (ARRAY_SIZE(builtin_flash_types) + pdata->num_flash - 1)) {
> - kfree(mtd);
> - info->mtd = NULL;
> + host->mtd = NULL;
> dev_err(&info->pdev->dev, "ERROR!! flash not defined!!!\n");
>
> return -EINVAL;
> }
>
> - pxa3xx_nand_config_flash(info, f);
> + ret = pxa3xx_nand_config_flash(info, f);
> + if (ret) {
> + dev_err(&info->pdev->dev, "ERROR! Configure failed\n");
> + return ret;
> + }
and here
> pxa3xx_flash_ids[0].name = f->name;
> pxa3xx_flash_ids[0].id = (f->chip_id >> 8) & 0xffff;
> pxa3xx_flash_ids[0].pagesize = f->page_size;
> @@ -955,44 +972,52 @@ KEEP_CONFIG:
> if (nand_scan_ident(mtd, 1, def))
> return -ENODEV;
> /* calculate addressing information */
> - info->col_addr_cycles = (mtd->writesize >= 2048) ? 2 : 1;
> + if (mtd->writesize >= 2048)
> + host->col_addr_cycles = 2;
> + else
> + host->col_addr_cycles = 1;
and here
> info->oob_buff = info->data_buff + mtd->writesize;
> if ((mtd->size >> chip->page_shift) > 65536)
> - info->row_addr_cycles = 3;
> + host->row_addr_cycles = 3;
> else
> - info->row_addr_cycles = 2;
> + host->row_addr_cycles = 2;
also here
> mtd->name = mtd_names[0];
> chip->ecc.mode = NAND_ECC_HW;
> - chip->ecc.size = info->page_size;
> + chip->ecc.size = host->page_size;
>
> - chip->options = (info->reg_ndcr & NDCR_DWIDTH_M) ? NAND_BUSWIDTH_16 : 0;
> + chip->options = 0;
> + if (host->reg_ndcr & NDCR_DWIDTH_M)
> + chip->options = NAND_BUSWIDTH_16;
> chip->options |= NAND_NO_AUTOINCR;
> chip->options |= NAND_NO_READRDY;
here, you can just reorder the bit operations, so you won't need to do options = 0.
And empty line after if, would be great.
>
> return nand_scan_tail(mtd);
> }
>
[...]
> static int pxa3xx_nand_remove(struct platform_device *pdev)
> {
> struct pxa3xx_nand_info *info = platform_get_drvdata(pdev);
> - struct mtd_info *mtd = info->mtd;
> struct resource *r;
> int irq;
>
> + if (!info)
> + return 0;
and here (empty line)
apart from that nitpicking, the patch should be fine.
--
Regards,
Igor.
next prev parent reply other threads:[~2011-07-06 7:29 UTC|newest]
Thread overview: 81+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-07-08 16:00 [PATCH] MTD: pxa3xx_nand: enable multiple chip select support Lei Wen
2011-06-22 11:39 ` Daniel Mack
2011-07-08 17:38 ` Lei Wen
2011-06-22 13:06 ` Daniel Mack
2011-06-23 6:22 ` Lei Wen
2011-07-08 16:09 ` Igor Grinberg
2011-07-08 15:26 ` Lei Wen
2011-06-23 10:44 ` Igor Grinberg
2011-06-25 11:17 ` Lei Wen
2011-06-25 12:32 ` Daniel Mack
2011-06-25 12:51 ` Lei Wen
2011-06-27 13:22 ` Igor Grinberg
2011-06-28 7:32 ` Artem Bityutskiy
2011-06-28 15:12 ` Lei Wen
2011-06-29 3:51 ` [PATCH V3 0/9] pxa3xx_nand: add two " Lei Wen
2011-06-29 9:00 ` Igor Grinberg
2011-06-29 10:20 ` Artem Bityutskiy
2011-07-04 9:27 ` Lei Wen
2011-07-04 9:25 ` [PATCH V4 0/4] " Lei Wen
2011-07-08 3:34 ` [PATCH V5 0/3] " Lei Wen
2011-07-12 10:28 ` [PATCH V6 0/4] " Lei Wen
2011-07-12 14:35 ` [PATCH V7 " Lei Wen
2011-07-15 3:44 ` [PATCH V8 " Lei Wen
2011-07-20 4:51 ` Artem Bityutskiy
2011-07-15 3:44 ` [PATCH V8 1/4] MTD: pxa3xx_nand: enhance suspend and resume routine Lei Wen
2011-07-15 3:44 ` [PATCH V8 2/4] MTD: pxa3xx_nand: convert all printk into dev_* Lei Wen
2011-07-15 3:44 ` [PATCH V8 3/4] MTD: pxa3xx_nand: sperate each chip individual info Lei Wen
2011-07-15 3:44 ` [PATCH V8 4/4] MTD: pxa3xx_nand: enable multiple chip select support Lei Wen
2011-07-12 14:35 ` [PATCH V7 1/4] MTD: pxa3xx_nand: enhance suspend and resume routine Lei Wen
2011-07-13 10:53 ` Sergei Shtylyov
2011-07-12 14:35 ` [PATCH V7 2/4] MTD: pxa3xx_nand: convert all printk into dev_* Lei Wen
2011-07-13 10:57 ` Sergei Shtylyov
2011-07-13 12:41 ` Lei Wen
2011-07-13 14:35 ` Sergei Shtylyov
2011-07-12 14:35 ` [PATCH V7 3/4] MTD: pxa3xx_nand: sperate each chip individual info Lei Wen
2011-07-12 14:35 ` [PATCH V7 4/4] MTD: pxa3xx_nand: enable multiple chip select support Lei Wen
2011-07-12 10:28 ` [PATCH V6 1/4] MTD: pxa3xx_nand: convert all printk into dev_* Lei Wen
2011-07-12 10:28 ` [PATCH V6 2/4] MTD: pxa3xx_nand: sperate each chip individual info Lei Wen
2011-07-12 10:28 ` [PATCH V6 3/4] MTD: pxa3xx_nand: enable multiple chip select support Lei Wen
2011-07-12 10:28 ` [PATCH V6 4/4] MTD: pxa3xx_nand: enhance suspend and resume routine Lei Wen
2011-07-12 11:39 ` Daniel Mack
2011-07-12 12:02 ` Daniel Mack
2011-07-12 15:56 ` Igor Grinberg
2011-07-12 17:35 ` Daniel Mack
2011-07-08 3:34 ` [PATCH 1/3] MTD: pxa3xx_nand: convert all printk into dev_* Lei Wen
2011-07-08 3:34 ` [PATCH 2/3] MTD: pxa3xx_nand: sperate each chip individual info Lei Wen
2011-07-08 3:34 ` [PATCH 3/3] MTD: pxa3xx_nand: enable multiple chip select support Lei Wen
2011-07-04 9:25 ` [PATCH 1/4] MTD: pxa3xx_nand: convert all printk into dev_* Lei Wen
2011-07-04 9:25 ` [PATCH 2/4] MTD: pxa3xx_nand: sperate each chip individual info Lei Wen
2011-07-06 7:29 ` Igor Grinberg [this message]
2011-07-04 9:25 ` [PATCH 3/4] MTD: pxa3xx_nand: enable multiple chip select support Lei Wen
2011-07-06 6:53 ` Artem Bityutskiy
2011-07-06 6:54 ` Lei Wen
2011-07-06 7:07 ` Artem Bityutskiy
2011-07-06 7:41 ` Igor Grinberg
2011-07-07 6:26 ` Lei Wen
2011-07-07 8:59 ` Igor Grinberg
2011-07-07 9:06 ` Lei Wen
2011-07-07 11:23 ` Igor Grinberg
2011-07-11 14:49 ` Daniel Mack
2011-07-11 18:19 ` Igor Grinberg
2011-07-11 18:53 ` Daniel Mack
2011-07-11 19:25 ` Igor Grinberg
2011-07-12 9:40 ` Lei Wen
2011-07-12 9:57 ` Daniel Mack
2011-07-12 10:29 ` Lei Wen
2011-07-12 12:05 ` Daniel Mack
2011-07-12 12:48 ` Daniel Mack
2011-07-12 15:49 ` Igor Grinberg
2011-07-04 9:25 ` [PATCH 4/4] ARM: mmp/pxa: fix nand platform data Lei Wen
2011-06-29 3:51 ` [PATCH 1/9] MTD: pxa3xx_nand: convert all printk into dev_* Lei Wen
2011-06-29 3:51 ` [PATCH 2/9] MTD: pxa3xx_nand: enable multiple chip select support Lei Wen
2011-06-29 7:11 ` Artem Bityutskiy
2011-06-29 7:16 ` Lei Wen
2011-06-29 3:51 ` [PATCH 3/9] ARM: aspenite: fix nand platform data Lei Wen
2011-06-29 3:51 ` [PATCH 4/9] ARM: cm-x300: " Lei Wen
2011-06-29 3:51 ` [PATCH 5/9] ARM: colibri-pxa3xx: " Lei Wen
2011-06-29 3:51 ` [PATCH 6/9] ARM: littleton: " Lei Wen
2011-06-29 3:51 ` [PATCH 7/9] ARM: mxm8x10: " Lei Wen
2011-06-29 3:51 ` [PATCH 8/9] ARM: raumfeld: " Lei Wen
2011-06-29 3:51 ` [PATCH 9/9] ARM: zylonite: " Lei Wen
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=4E140ECC.2000400@compulab.co.il \
--to=grinberg@compulab.co.il \
--cc=linux-arm-kernel@lists.infradead.org \
/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;
as well as URLs for NNTP newsgroup(s).