Patchwork [1/4] mtd: add a new field to mtd_info{}

login
register
mail settings
Submitter Huang Shijie
Date May 3, 2013, 6:21 a.m.
Message ID <1367562104-8955-2-git-send-email-b32955@freescale.com>
Download mbox | patch
Permalink /patch/241208/
State New
Headers show

Comments

Huang Shijie - May 3, 2013, 6:21 a.m.
In order to implement the NAND boot for some Freescale's chips, such as
imx23/imx28/imx50/imx6, we use a tool (called kobs-ng) to burn the uboot
and some metadata to nand chip. And the ROM code will use the metadata to
configrate the BCH, and to find the uboot.

The ECC information(ecc step size, ecc strength) which is used to configrate
the BCH is part of the metadata. The kobs-ng can gets the ecc strength from
the sys node /sys/*/ecc_strength now. But it can not gets the ecc step size.

This patch adds a new field to store the ecc step size in mtd_info{}, and
it makes preparation for the next patches.

Signed-off-by: Huang Shijie <b32955@freescale.com>
---
 include/linux/mtd/mtd.h |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)
Artem Bityutskiy - May 15, 2013, 7:47 a.m.
On Fri, 2013-05-03 at 14:21 +0800, Huang Shijie wrote:
> In order to implement the NAND boot for some Freescale's chips, such as
> imx23/imx28/imx50/imx6, we use a tool (called kobs-ng) to burn the uboot
> and some metadata to nand chip. And the ROM code will use the metadata to
> configrate the BCH, and to find the uboot.
> 
> The ECC information(ecc step size, ecc strength) which is used to configrate
> the BCH is part of the metadata. The kobs-ng can gets the ecc strength from
> the sys node /sys/*/ecc_strength now. But it can not gets the ecc step size.
> 
> This patch adds a new field to store the ecc step size in mtd_info{}, and
> it makes preparation for the next patches.
> 
> Signed-off-by: Huang Shijie <b32955@freescale.com>
> ---
>  include/linux/mtd/mtd.h |    3 +++
>  1 files changed, 3 insertions(+), 0 deletions(-)
> 
> diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
> index 183a304..b93035f 100644
> --- a/include/linux/mtd/mtd.h
> +++ b/include/linux/mtd/mtd.h
> @@ -173,6 +173,9 @@ struct mtd_info {
>  	/* ECC layout structure pointer - read only! */
>  	struct nand_ecclayout *ecclayout;
>  
> +	/* the ecc step size. */
> +	unsigned int ecc_size;

It would really be nice to harmonize the naming and probably stick to
ecc_step everywhere. To me things looks confusing, because ecc_size is
actually ECC step size, and not the size of ECC codes.
Huang Shijie - May 15, 2013, 7:59 a.m.
于 2013年05月15日 15:47, Artem Bityutskiy 写道:
> On Fri, 2013-05-03 at 14:21 +0800, Huang Shijie wrote:
>> In order to implement the NAND boot for some Freescale's chips, such as
>> imx23/imx28/imx50/imx6, we use a tool (called kobs-ng) to burn the uboot
>> and some metadata to nand chip. And the ROM code will use the metadata to
>> configrate the BCH, and to find the uboot.
>>
>> The ECC information(ecc step size, ecc strength) which is used to configrate
>> the BCH is part of the metadata. The kobs-ng can gets the ecc strength from
>> the sys node /sys/*/ecc_strength now. But it can not gets the ecc step size.
>>
>> This patch adds a new field to store the ecc step size in mtd_info{}, and
>> it makes preparation for the next patches.
>>
>> Signed-off-by: Huang Shijie<b32955@freescale.com>
>> ---
>>   include/linux/mtd/mtd.h |    3 +++
>>   1 files changed, 3 insertions(+), 0 deletions(-)
>>
>> diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
>> index 183a304..b93035f 100644
>> --- a/include/linux/mtd/mtd.h
>> +++ b/include/linux/mtd/mtd.h
>> @@ -173,6 +173,9 @@ struct mtd_info {
>>   	/* ECC layout structure pointer - read only! */
>>   	struct nand_ecclayout *ecclayout;
>>
>> +	/* the ecc step size. */
>> +	unsigned int ecc_size;
> It would really be nice to harmonize the naming and probably stick to
> ecc_step everywhere. To me things looks confusing, because ecc_size is
> actually ECC step size, and not the size of ECC codes.
>
ok. I will use ecc_step as the name.

thanks
Huang Shijie

Patch

diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index 183a304..b93035f 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -173,6 +173,9 @@  struct mtd_info {
 	/* ECC layout structure pointer - read only! */
 	struct nand_ecclayout *ecclayout;
 
+	/* the ecc step size. */
+	unsigned int ecc_size;
+
 	/* max number of correctible bit errors per ecc step */
 	unsigned int ecc_strength;