Re: [PATCH v3 02/16] mtd: rawnand: denali: use helper function for ecc setup

From: Masahiro Yamada
Date: Sun May 27 2018 - 05:27:24 EST


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