Commit 9a333a72 authored by Miquel Raynal's avatar Miquel Raynal

mtd: spinand: Use nanddev_get_ecc_conf() when relevant

Instead of accessing ->strength/step_size directly.
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20200827085208.16276-13-miquel.raynal@bootlin.com
parent d193792a
...@@ -419,7 +419,7 @@ static int spinand_check_ecc_status(struct spinand_device *spinand, u8 status) ...@@ -419,7 +419,7 @@ static int spinand_check_ecc_status(struct spinand_device *spinand, u8 status)
* fixed, so let's return the maximum possible value so that * fixed, so let's return the maximum possible value so that
* wear-leveling layers move the data immediately. * wear-leveling layers move the data immediately.
*/ */
return nand->eccreq.strength; return nanddev_get_ecc_conf(nand)->strength;
case STATUS_ECC_UNCOR_ERROR: case STATUS_ECC_UNCOR_ERROR:
return -EBADMSG; return -EBADMSG;
...@@ -1090,8 +1090,8 @@ static int spinand_init(struct spinand_device *spinand) ...@@ -1090,8 +1090,8 @@ static int spinand_init(struct spinand_device *spinand)
mtd->oobavail = ret; mtd->oobavail = ret;
/* Propagate ECC information to mtd_info */ /* Propagate ECC information to mtd_info */
mtd->ecc_strength = nand->eccreq.strength; mtd->ecc_strength = nanddev_get_ecc_conf(nand)->strength;
mtd->ecc_step_size = nand->eccreq.step_size; mtd->ecc_step_size = nanddev_get_ecc_conf(nand)->step_size;
return 0; return 0;
......
...@@ -84,10 +84,11 @@ static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand, ...@@ -84,10 +84,11 @@ static int mx35lf1ge4ab_ecc_get_status(struct spinand_device *spinand,
* data around if it's not necessary. * data around if it's not necessary.
*/ */
if (mx35lf1ge4ab_get_eccsr(spinand, &eccsr)) if (mx35lf1ge4ab_get_eccsr(spinand, &eccsr))
return nand->eccreq.strength; return nanddev_get_ecc_conf(nand)->strength;
if (WARN_ON(eccsr > nand->eccreq.strength || !eccsr)) if (WARN_ON(eccsr > nanddev_get_ecc_conf(nand)->strength ||
return nand->eccreq.strength; !eccsr))
return nanddev_get_ecc_conf(nand)->strength;
return eccsr; return eccsr;
......
...@@ -90,12 +90,12 @@ static int tx58cxgxsxraix_ecc_get_status(struct spinand_device *spinand, ...@@ -90,12 +90,12 @@ static int tx58cxgxsxraix_ecc_get_status(struct spinand_device *spinand,
* data around if it's not necessary. * data around if it's not necessary.
*/ */
if (spi_mem_exec_op(spinand->spimem, &op)) if (spi_mem_exec_op(spinand->spimem, &op))
return nand->eccreq.strength; return nanddev_get_ecc_conf(nand)->strength;
mbf >>= 4; mbf >>= 4;
if (WARN_ON(mbf > nand->eccreq.strength || !mbf)) if (WARN_ON(mbf > nanddev_get_ecc_conf(nand)->strength || !mbf))
return nand->eccreq.strength; return nanddev_get_ecc_conf(nand)->strength;
return mbf; return mbf;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment