[RFC PATCH] mtd: nand: vf610_nfc: use nand_check_erased_ecc_chunk() helper
Boris Brezillon
boris.brezillon at free-electrons.com
Wed Sep 30 09:52:46 PDT 2015
On Tue, 29 Sep 2015 14:11:56 -0700
Brian Norris <computersforpeace at gmail.com> wrote:
> Signed-off-by: Brian Norris <computersforpeace at gmail.com>
> ---
> I forgot about this feedback. How does this patch look? Just compile tested.
Looks good to me, but I can't test it either :-).
Reviewed-by: Boris Brezillon <boris.brezillon at free-electrons.com>
>
> drivers/mtd/nand/vf610_nfc.c | 14 +++-----------
> 1 file changed, 3 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/mtd/nand/vf610_nfc.c b/drivers/mtd/nand/vf610_nfc.c
> index 42dad8e4b26f..598faf655f5b 100644
> --- a/drivers/mtd/nand/vf610_nfc.c
> +++ b/drivers/mtd/nand/vf610_nfc.c
> @@ -560,7 +560,6 @@ static inline int vf610_nfc_correct_data(struct mtd_info *mtd, uint8_t *dat,
> u32 ecc_status_off = NFC_MAIN_AREA(0) + ECC_SRAM_ADDR + ECC_STATUS;
> u8 ecc_status;
> u8 ecc_count;
> - int flips;
> int flips_threshold = nfc->chip.ecc.strength / 2;
>
> ecc_status = vf610_nfc_read(nfc, ecc_status_off) & 0xff;
> @@ -577,16 +576,9 @@ static inline int vf610_nfc_correct_data(struct mtd_info *mtd, uint8_t *dat,
> * On an erased page, bit count (including OOB) should be zero or
> * at least less then half of the ECC strength.
> */
> - flips = count_written_bits(dat, nfc->chip.ecc.size, flips_threshold);
> - flips += count_written_bits(oob, mtd->oobsize, flips_threshold);
> -
> - if (unlikely(flips > flips_threshold))
> - return -EINVAL;
> -
> - /* Erased page. */
> - memset(dat, 0xff, nfc->chip.ecc.size);
> - memset(oob, 0xff, mtd->oobsize);
> - return flips;
> + return nand_check_erased_ecc_chunk(dat, nfc->chip.ecc.size, oob,
> + mtd->oobsize, NULL, 0,
> + flips_threshold);
> }
>
> static int vf610_nfc_read_page(struct mtd_info *mtd, struct nand_chip *chip,
--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com
More information about the linux-mtd
mailing list