On Sun, 17 Apr 2016 19:10:11 +0200 Rafał Miłecki <[email protected]> wrote:
> On 17 April 2016 at 19:05, Boris Brezillon > <[email protected]> wrote: > > On Fri, 15 Apr 2016 21:54:12 +0200 > > Rafał Miłecki <[email protected]> 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 <[email protected]> > >> --- > >> 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). Indeed. Sorry, I didn't read the full context. Thanks for the clarification. Boris -- Boris Brezillon, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com

