Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 191a8294 authored by Boris Brezillon's avatar Boris Brezillon
Browse files

mtd: nand: gpmi: use mtd_ooblayout_xxx() helpers where appropriate



The mtd_ooblayout_xxx() helper functions have been added to avoid direct
accesses to the ecclayout field, and thus ease for future reworks.
Use these helpers in all places where the oobfree[] and eccpos[] arrays
where directly accessed.

Signed-off-by: default avatarBoris Brezillon <boris.brezillon@free-electrons.com>
parent 9ed92dd2
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -1328,18 +1328,19 @@ static int gpmi_ecc_read_oob(struct mtd_info *mtd, struct nand_chip *chip,
static int
gpmi_ecc_write_oob(struct mtd_info *mtd, struct nand_chip *chip, int page)
{
	struct nand_oobfree *of = mtd->ecclayout->oobfree;
	struct mtd_oob_region of = { };
	int status = 0;

	/* Do we have available oob area? */
	if (!of->length)
	mtd_ooblayout_free(mtd, 0, &of);
	if (!of.length)
		return -EPERM;

	if (!nand_is_slc(chip))
		return -EPERM;

	chip->cmdfunc(mtd, NAND_CMD_SEQIN, mtd->writesize + of->offset, page);
	chip->write_buf(mtd, chip->oob_poi + of->offset, of->length);
	chip->cmdfunc(mtd, NAND_CMD_SEQIN, mtd->writesize + of.offset, page);
	chip->write_buf(mtd, chip->oob_poi + of.offset, of.length);
	chip->cmdfunc(mtd, NAND_CMD_PAGEPROG, -1, -1);

	status = chip->waitfunc(mtd, chip);