From: josh.wu@atmel.com (Josh Wu)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v12 0/2] MTD: at91: Add PMECC support for at91 nand flash driver
Date: Fri, 29 Jun 2012 17:00:27 +0800 [thread overview]
Message-ID: <4FED6EAB.3000802@atmel.com> (raw)
In-Reply-To: <1340898021.3070.123.camel@sauron.fi.intel.com>
Hi, Artem
On 6/28/2012 11:40 PM, Artem Bityutskiy wrote:
> On Thu, 2012-06-28 at 16:21 +0800, Josh Wu wrote:
>> Those patches is based on the l2-mtd.git three.
>>
>> Since there are two patches of v11 already pushed, so this version v12 only includes the left two patches.
>> which includes the modification according to Richard Genoud's review suggestion.
>>
>> Changes since v11,
>> add documentation for atmel nand reg parameter and one example for PMECC support.
>> fix the bug: no error reported when fail to get resoures of PMECC ERRLOC or ROM.
>> fix the bug: no correction when ecc data has bit flipped.
>> add clearer debug information for data correction.
>>
>> Josh Wu (2):
>> MTD: at91: add dt parameters for Atmel PMECC
>> MTD: at91: atmel_nand: Update driver to support Programmable Multibit
>> ECC controller
>>
>> .../devicetree/bindings/mtd/atmel-nand.txt | 40 +-
>> drivers/mtd/nand/atmel_nand.c | 801 +++++++++++++++++++-
>> drivers/mtd/nand/atmel_nand_ecc.h | 114 ++-
>> 3 files changed, 951 insertions(+), 4 deletions(-)
> Aiaiai is not 100% happy, could you take a look?
>
> dedekind at blue:~/git/maintaining$ ../aiaiai/aiaiai-concat-mboxes ~/tmp/wu* | ./verify ../l2-mtd/ atmel_nand
> Tested the patch(es) on top of the following commits:
> 9328bb5 Quick fixes - applied by aiaiai
> ea3b6ef mtd: fix bogus inequation
> 0960e57 mtd: move mtd_read_oob() definition out of mtd.h
> 0560176 mtd: nand_bbt: refactor check_pattern_no_oob()
>
> --------------------------------------------------------------------------------
>
> Successfully built configuration "arm-at91cap9_defconfig,arm,arm-unknown-linux-gnueabi-", results:
>
> --- before_patching.log
> +++ after_patching.log
> @@ @@
> +drivers/mtd/nand/atmel_nand.c: In function 'pmecc_correct_data':
> +drivers/mtd/nand/atmel_nand.c:680:38: warning: variable 'ecc_size' set but not used [-Wunused-but-set-variable]
oops, I'll fix this warning in next version.
> +drivers/mtd/nand/atmel_nand.c:480:32: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:488:35: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:633:32: error: bad constant expression [sparse]
> +drivers/mtd/nand/atmel_nand.c:635:35: error: bad constant expression [sparse]
I use CodeSourcery 2010q1, and no any error reported. So it seems
related with the compiler.
From the log, I think the error is caused by the dynamic 2d array:
smu[cap + 2][2 * cap + 1]. which is used to calculate the sigma table.
Since the smu is allocated when driver is probed, and the length of the
smu depend on PMECC correction capablity. So when I declare the type of
smu by following line: (cap is declared as const type)
int16_t (*smu)[2 * cap + 1];
That make Sparse compiler not happy, since the cap is a variable. so it
reports an error. But for this case, the CodeSourcery works fine.
For fixing this compile error, in next version, I will use 1D array
instead of 2D array, for instance: all smu[i][j] changes to smu[i * num
+ j]. // in this line, num equal to 2 * cap + 1.
I think in such way, all compiler should be happy. :)
When I send out the next version of the patch, Could you please test it
about above fix? since I don't have Sparse compiler in my hand. Thanks.
>
> --------------------------------------------------------------------------------
>
>
Best Regards,
Josh Wu
next prev parent reply other threads:[~2012-06-29 9:00 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-06-28 8:21 [PATCH v12 0/2] MTD: at91: Add PMECC support for at91 nand flash driver Josh Wu
2012-06-28 8:21 ` [PATCH v12 1/2] MTD: at91: add dt parameters for Atmel PMECC Josh Wu
2012-06-28 8:33 ` Josh Wu
2012-06-28 12:56 ` Nicolas Ferre
2012-06-28 8:21 ` [PATCH v12 2/2] MTD: at91: atmel_nand: Update driver to support Programmable Multibit ECC controller Josh Wu
2012-06-28 8:36 ` Nicolas Ferre
2012-06-28 8:33 ` [PATCH v12 0/2] MTD: at91: Add PMECC support for at91 nand flash driver Nicolas Ferre
2012-06-28 15:40 ` Artem Bityutskiy
2012-06-29 9:00 ` Josh Wu [this message]
2012-06-29 9:09 ` Artem Bityutskiy
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=4FED6EAB.3000802@atmel.com \
--to=josh.wu@atmel.com \
--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).