[PATCH 12/12] mtd: mtd: drop NAND_ECC_SOFT_BCH enum value

Rafał Miłecki zajec5 at gmail.com
Sun Apr 17 10:10:11 PDT 2016


On 17 April 2016 at 19:05, Boris Brezillon
<boris.brezillon at free-electrons.com> wrote:
> On Fri, 15 Apr 2016 21:54:12 +0200
> Rafał Miłecki <zajec5 at gmail.com> wrote:
>
>> This value should not be part of nand_ecc_modes_t as it specifies
>> algorithm not a mode. We successfully managed to introduce new "algo"
>> field which is respected now.
>>
>> Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
>> ---
>>  drivers/mtd/nand/fsmc_nand.c   | 3 +--
>>  drivers/mtd/nand/jz4780_nand.c | 1 -
>>  drivers/mtd/nand/nand_base.c   | 2 --
>>  drivers/mtd/nand/nandsim.c     | 2 +-
>>  drivers/mtd/nand/sunxi_nand.c  | 2 --
>>  include/linux/mtd/nand.h       | 1 -
>>  6 files changed, 2 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/mtd/nand/fsmc_nand.c b/drivers/mtd/nand/fsmc_nand.c
>> index 0f8c63f..d4f454a 100644
>> --- a/drivers/mtd/nand/fsmc_nand.c
>> +++ b/drivers/mtd/nand/fsmc_nand.c
>> @@ -959,7 +959,6 @@ static int __init fsmc_nand_probe(struct platform_device *pdev)
>>                       break;
>>
>>               case NAND_ECC_SOFT:
>> -             case NAND_ECC_SOFT_BCH:
>>                       if (nand->ecc.algo == NAND_ECC_BCH) {
>>                               dev_info(&pdev->dev, "Using 4-bit SW BCH ECC scheme\n");
>>                               break;
>> @@ -974,7 +973,7 @@ static int __init fsmc_nand_probe(struct platform_device *pdev)
>>                * Don't set layout for BCH4 SW ECC. This will be
>>                * generated later in nand_bch_init() later.
>>                */
>> -             if (nand->ecc.mode != NAND_ECC_SOFT_BCH) {
>> +             if (nand->ecc.mode == NAND_ECC_HW) {
>
> This test is wrong, it should be
>
>                 if (nand->ecc.mode != NAND_ECC_SOFT ||
>                     nand->ecc.algo != NAND_ECC_BCH)
>
> or
>                 if (!(nand->ecc.mode == NAND_ECC_SOFT &&
>                       nand->ecc.algo == NAND_ECC_BCH)

This driver supports only 2 modes (see switch above).



More information about the linux-arm-kernel mailing list