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

Commit 7086c19d authored by Artem Bityutskiy's avatar Artem Bityutskiy Committed by David Woodhouse
Browse files

mtd: introduce mtd_block_isbad interface

parent ead995f8
Loading
Loading
Loading
Loading
+1 −2
Original line number Original line Diff line number Diff line
@@ -404,8 +404,7 @@ static int __init init_axis_flash(void)
		 */
		 */
		int blockstat;
		int blockstat;
		do {
		do {
			blockstat = main_mtd->block_isbad(main_mtd,
			blockstat = mtd_block_isbad(main_mtd, ptable_sector);
				ptable_sector);
			if (blockstat < 0)
			if (blockstat < 0)
				ptable_sector = 0; /* read error */
				ptable_sector = 0; /* read error */
			else if (blockstat)
			else if (blockstat)
+2 −1
Original line number Original line Diff line number Diff line
@@ -306,7 +306,8 @@ static int find_boot_record(struct INFTLrecord *inftl)
			/* If any of the physical eraseblocks are bad, don't
			/* If any of the physical eraseblocks are bad, don't
			   use the unit. */
			   use the unit. */
			for (physblock = 0; physblock < inftl->EraseSize; physblock += inftl->mbd.mtd->erasesize) {
			for (physblock = 0; physblock < inftl->EraseSize; physblock += inftl->mbd.mtd->erasesize) {
				if (inftl->mbd.mtd->block_isbad(inftl->mbd.mtd, i * inftl->EraseSize + physblock))
				if (mtd_block_isbad(inftl->mbd.mtd,
						    i * inftl->EraseSize + physblock))
					inftl->PUtable[i] = BLOCK_RESERVED;
					inftl->PUtable[i] = BLOCK_RESERVED;
			}
			}
		}
		}
+1 −1
Original line number Original line Diff line number Diff line
@@ -886,7 +886,7 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
		if (!mtd->block_isbad)
		if (!mtd->block_isbad)
			ret = -EOPNOTSUPP;
			ret = -EOPNOTSUPP;
		else
		else
			return mtd->block_isbad(mtd, offs);
			return mtd_block_isbad(mtd, offs);
		break;
		break;
	}
	}


+1 −1
Original line number Original line Diff line number Diff line
@@ -667,7 +667,7 @@ static int concat_block_isbad(struct mtd_info *mtd, loff_t ofs)
			continue;
			continue;
		}
		}


		res = subdev->block_isbad(subdev, ofs);
		res = mtd_block_isbad(subdev, ofs);
		break;
		break;
	}
	}


+2 −2
Original line number Original line Diff line number Diff line
@@ -170,7 +170,7 @@ static void mtdoops_workfunc_erase(struct work_struct *work)
	}
	}


	while (mtd->block_isbad) {
	while (mtd->block_isbad) {
		ret = mtd->block_isbad(mtd, cxt->nextpage * record_size);
		ret = mtd_block_isbad(mtd, cxt->nextpage * record_size);
		if (!ret)
		if (!ret)
			break;
			break;
		if (ret < 0) {
		if (ret < 0) {
@@ -254,7 +254,7 @@ static void find_next_position(struct mtdoops_context *cxt)


	for (page = 0; page < cxt->oops_pages; page++) {
	for (page = 0; page < cxt->oops_pages; page++) {
		if (mtd->block_isbad &&
		if (mtd->block_isbad &&
		    mtd->block_isbad(mtd, page * record_size))
		    mtd_block_isbad(mtd, page * record_size))
			continue;
			continue;
		/* Assume the page is used */
		/* Assume the page is used */
		mark_page_used(cxt, page);
		mark_page_used(cxt, page);
Loading