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

From: RafaÅ MiÅecki
Date: Sun Apr 17 2016 - 13:10:21 EST


On 17 April 2016 at 19:05, Boris Brezillon
<boris.brezillon@xxxxxxxxxxxxxxxxxx> wrote:
> On Fri, 15 Apr 2016 21:54:12 +0200
> RafaÅ MiÅecki <zajec5@xxxxxxxxx> 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@xxxxxxxxx>
>> ---
>> 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).