2018-05-25 21:21 GMT+09:00 Abhishek Sahu <absahu@xxxxxxxxxxxxxx>: > Use the NAND core helper function nand_ecc_choose_conf to tune > the ECC parameters instead of the function locally defined. > > CC: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> You can replace the CC with my Acked-by: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx> > Acked-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx> > Signed-off-by: Abhishek Sahu <absahu@xxxxxxxxxxxxxx> > --- > * Changes from v2: > > 1. Changed commit message > > * Changes from v1: > NEW PATCH > > drivers/mtd/nand/raw/denali.c | 30 ++---------------------------- > 1 file changed, 2 insertions(+), 28 deletions(-) > > diff --git a/drivers/mtd/nand/raw/denali.c b/drivers/mtd/nand/raw/denali.c > index 2a302a1..a586a1d 100644 > --- a/drivers/mtd/nand/raw/denali.c > +++ b/drivers/mtd/nand/raw/denali.c > @@ -1120,33 +1120,6 @@ int denali_calc_ecc_bytes(int step_size, int strength) > } > EXPORT_SYMBOL(denali_calc_ecc_bytes); > > -static int denali_ecc_setup(struct mtd_info *mtd, struct nand_chip *chip, > - struct denali_nand_info *denali) > -{ > - int oobavail = mtd->oobsize - denali->oob_skip_bytes; > - int ret; > - > - /* > - * If .size and .strength are already set (usually by DT), > - * check if they are supported by this controller. > - */ > - if (chip->ecc.size && chip->ecc.strength) > - return nand_check_ecc_caps(chip, denali->ecc_caps, oobavail); > - > - /* > - * We want .size and .strength closest to the chip's requirement > - * unless NAND_ECC_MAXIMIZE is requested. > - */ > - if (!(chip->ecc.options & NAND_ECC_MAXIMIZE)) { > - ret = nand_match_ecc_req(chip, denali->ecc_caps, oobavail); > - if (!ret) > - return 0; > - } > - > - /* Max ECC strength is the last thing we can do */ > - return nand_maximize_ecc(chip, denali->ecc_caps, oobavail); > -} > - > static int denali_ooblayout_ecc(struct mtd_info *mtd, int section, > struct mtd_oob_region *oobregion) > { > @@ -1317,7 +1290,8 @@ int denali_init(struct denali_nand_info *denali) > chip->ecc.mode = NAND_ECC_HW_SYNDROME; > chip->options |= NAND_NO_SUBPAGE_WRITE; > > - ret = denali_ecc_setup(mtd, chip, denali); > + ret = nand_ecc_choose_conf(chip, denali->ecc_caps, > + mtd->oobsize - denali->oob_skip_bytes); > if (ret) { > dev_err(denali->dev, "Failed to setup ECC settings.\n"); > goto disable_irq; > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. > is a member of Code Aurora Forum, hosted by The Linux Foundation > > > ______________________________________________________ > Linux MTD discussion mailing list > http://lists.infradead.org/mailman/listinfo/linux-mtd/ -- Best Regards Masahiro Yamada -- To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html