···404404 */405405 int blockstat;406406 do {407407- blockstat = main_mtd->block_isbad(main_mtd,408408- ptable_sector);407407+ blockstat = mtd_block_isbad(main_mtd, ptable_sector);409408 if (blockstat < 0)410409 ptable_sector = 0; /* read error */411410 else if (blockstat)
+2-1
drivers/mtd/inftlmount.c
···306306 /* If any of the physical eraseblocks are bad, don't307307 use the unit. */308308 for (physblock = 0; physblock < inftl->EraseSize; physblock += inftl->mbd.mtd->erasesize) {309309- if (inftl->mbd.mtd->block_isbad(inftl->mbd.mtd, i * inftl->EraseSize + physblock))309309+ if (mtd_block_isbad(inftl->mbd.mtd,310310+ i * inftl->EraseSize + physblock))310311 inftl->PUtable[i] = BLOCK_RESERVED;311312 }312313 }
+1-1
drivers/mtd/mtdchar.c
···886886 if (!mtd->block_isbad)887887 ret = -EOPNOTSUPP;888888 else889889- return mtd->block_isbad(mtd, offs);889889+ return mtd_block_isbad(mtd, offs);890890 break;891891 }892892
···170170 }171171172172 while (mtd->block_isbad) {173173- ret = mtd->block_isbad(mtd, cxt->nextpage * record_size);173173+ ret = mtd_block_isbad(mtd, cxt->nextpage * record_size);174174 if (!ret)175175 break;176176 if (ret < 0) {···254254255255 for (page = 0; page < cxt->oops_pages; page++) {256256 if (mtd->block_isbad &&257257- mtd->block_isbad(mtd, page * record_size))257257+ mtd_block_isbad(mtd, page * record_size))258258 continue;259259 /* Assume the page is used */260260 mark_page_used(cxt, page);
+2-3
drivers/mtd/mtdpart.c
···322322 if (ofs >= mtd->size)323323 return -EINVAL;324324 ofs += part->offset;325325- return part->master->block_isbad(part->master, ofs);325325+ return mtd_block_isbad(part->master, ofs);326326}327327328328static int part_block_markbad(struct mtd_info *mtd, loff_t ofs)···553553 uint64_t offs = 0;554554555555 while (offs < slave->mtd.size) {556556- if (master->block_isbad(master,557557- offs + slave->offset))556556+ if (mtd_block_isbad(master, offs + slave->offset))558557 slave->mtd.ecc_stats.badblocks++;559558 offs += slave->mtd.erasesize;560559 }
+2-2
drivers/mtd/mtdswap.c
···343343 offset = mtdswap_eb_offset(d, eb);344344345345 /* Check first if the block is bad. */346346- if (d->mtd->block_isbad && d->mtd->block_isbad(d->mtd, offset))346346+ if (d->mtd->block_isbad && mtd_block_isbad(d->mtd, offset))347347 return MTDSWAP_SCANNED_BAD;348348349349 ops.ooblen = 2 * d->mtd->ecclayout->oobavail;···1061106110621062 if (mtd->block_isbad)10631063 for (offset = 0; offset < size; offset += mtd->erasesize)10641064- if (mtd->block_isbad(mtd, offset))10641064+ if (mtd_block_isbad(mtd, offset))10651065 badcnt++;1066106610671067 return badcnt;
+2-1
drivers/mtd/nftlmount.c
···242242 if (buf[i & (SECTORSIZE - 1)] != 0xff)243243 nftl->ReplUnitTable[i] = BLOCK_RESERVED;244244#endif245245- if (nftl->mbd.mtd->block_isbad(nftl->mbd.mtd, i * nftl->EraseSize))245245+ if (mtd_block_isbad(nftl->mbd.mtd,246246+ i * nftl->EraseSize))246247 nftl->ReplUnitTable[i] = BLOCK_RESERVED;247248 }248249
+2-2
drivers/mtd/redboot.c
···7979 if ( directory < 0 ) {8080 offset = master->size + directory * master->erasesize;8181 while (master->block_isbad && 8282- master->block_isbad(master, offset)) {8282+ mtd_block_isbad(master, offset)) {8383 if (!offset) {8484 nogood:8585 printk(KERN_NOTICE "Failed to find a non-bad block to check for RedBoot partition table\n");···9090 } else {9191 offset = directory * master->erasesize;9292 while (master->block_isbad && 9393- master->block_isbad(master, offset)) {9393+ mtd_block_isbad(master, offset)) {9494 offset += master->erasesize;9595 if (offset == master->size)9696 goto nogood;
+2-2
drivers/mtd/ssfdc.c
···122122 * is not SSFDC formatted123123 */124124 for (k = 0, offset = 0; k < 4; k++, offset += mtd->erasesize) {125125- if (!mtd->block_isbad(mtd, offset)) {125125+ if (mtd_block_isbad(mtd, offset)) {126126 ret = mtd_read(mtd, offset, SECTOR_SIZE, &retlen,127127 sect_buf);128128···255255 for (phys_block = ssfdc->cis_block + 1; phys_block < ssfdc->map_len;256256 phys_block++) {257257 offset = (unsigned long)phys_block * ssfdc->erase_size;258258- if (mtd->block_isbad(mtd, offset))258258+ if (mtd_block_isbad(mtd, offset))259259 continue; /* skip bad blocks */260260261261 ret = read_raw_oob(mtd, offset, oob_buf);
+1-1
drivers/mtd/tests/mtd_oobtest.c
···329329 int ret;330330 loff_t addr = ebnum * mtd->erasesize;331331332332- ret = mtd->block_isbad(mtd, addr);332332+ ret = mtd_block_isbad(mtd, addr);333333 if (ret)334334 printk(PRINT_PREF "block %d is bad\n", ebnum);335335 return ret;
+1-1
drivers/mtd/tests/mtd_pagetest.c
···469469 loff_t addr = ebnum * mtd->erasesize;470470 int ret;471471472472- ret = mtd->block_isbad(mtd, addr);472472+ ret = mtd_block_isbad(mtd, addr);473473 if (ret)474474 printk(PRINT_PREF "block %d is bad\n", ebnum);475475 return ret;
+1-1
drivers/mtd/tests/mtd_readtest.c
···132132 loff_t addr = ebnum * mtd->erasesize;133133 int ret;134134135135- ret = mtd->block_isbad(mtd, addr);135135+ ret = mtd_block_isbad(mtd, addr);136136 if (ret)137137 printk(PRINT_PREF "block %d is bad\n", ebnum);138138 return ret;
+1-1
drivers/mtd/tests/mtd_speedtest.c
···296296 loff_t addr = ebnum * mtd->erasesize;297297 int ret;298298299299- ret = mtd->block_isbad(mtd, addr);299299+ ret = mtd_block_isbad(mtd, addr);300300 if (ret)301301 printk(PRINT_PREF "block %d is bad\n", ebnum);302302 return ret;
+1-1
drivers/mtd/tests/mtd_stresstest.c
···132132 loff_t addr = ebnum * mtd->erasesize;133133 int ret;134134135135- ret = mtd->block_isbad(mtd, addr);135135+ ret = mtd_block_isbad(mtd, addr);136136 if (ret)137137 printk(PRINT_PREF "block %d is bad\n", ebnum);138138 return ret;
+1-1
drivers/mtd/tests/mtd_subpagetest.c
···344344 loff_t addr = ebnum * mtd->erasesize;345345 int ret;346346347347- ret = mtd->block_isbad(mtd, addr);347347+ ret = mtd_block_isbad(mtd, addr);348348 if (ret)349349 printk(PRINT_PREF "block %d is bad\n", ebnum);350350 return ret;
+1-2
drivers/mtd/tests/mtd_torturetest.c
···292292 memset(&bad_ebs[0], 0, sizeof(int) * ebcnt);293293 if (mtd->block_isbad) {294294 for (i = eb; i < eb + ebcnt; i++) {295295- err = mtd->block_isbad(mtd,296296- (loff_t)i * mtd->erasesize);295295+ err = mtd_block_isbad(mtd, (loff_t)i * mtd->erasesize);297296298297 if (err < 0) {299298 printk(PRINT_PREF "block_isbad() returned %d "
+1-1
drivers/mtd/ubi/io.c
···634634 if (ubi->bad_allowed) {635635 int ret;636636637637- ret = mtd->block_isbad(mtd, (loff_t)pnum * ubi->peb_size);637637+ ret = mtd_block_isbad(mtd, (loff_t)pnum * ubi->peb_size);638638 if (ret < 0)639639 ubi_err("error %d while checking if PEB %d is bad",640640 ret, pnum);
+1-1
fs/jffs2/scan.c
···455455 if (jffs2_cleanmarker_oob(c)) {456456 int ret;457457458458- if (c->mtd->block_isbad(c->mtd, jeb->offset))458458+ if (mtd_block_isbad(c->mtd, jeb->offset))459459 return BLK_STATE_BADBLOCK;460460461461 ret = jffs2_check_nand_cleanmarker(c, jeb);
+2-2
fs/logfs/dev_mtd.c
···157157 return NULL;158158159159 *ofs = 0;160160- while (mtd->block_isbad(mtd, *ofs)) {160160+ while (mtd_block_isbad(mtd, *ofs)) {161161 *ofs += mtd->erasesize;162162 if (*ofs >= mtd->size)163163 return NULL;···177177 return NULL;178178179179 *ofs = mtd->size - mtd->erasesize;180180- while (mtd->block_isbad(mtd, *ofs)) {180180+ while (mtd_block_isbad(mtd, *ofs)) {181181 *ofs -= mtd->erasesize;182182 if (*ofs <= 0)183183 return NULL;
+6-1
include/linux/mtd/mtd.h
···210210 int (*lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len);211211 int (*unlock) (struct mtd_info *mtd, loff_t ofs, uint64_t len);212212 int (*is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len);213213+ int (*block_isbad) (struct mtd_info *mtd, loff_t ofs);213214 int (*suspend) (struct mtd_info *mtd);214215 void (*resume) (struct mtd_info *mtd);215216···220219 struct backing_dev_info *backing_dev_info;221220222221 /* Bad block management functions */223223- int (*block_isbad) (struct mtd_info *mtd, loff_t ofs);224222 int (*block_markbad) (struct mtd_info *mtd, loff_t ofs);225223226224 struct notifier_block reboot_notifier; /* default mode before reboot */···404404static inline void mtd_resume(struct mtd_info *mtd)405405{406406 mtd->resume(mtd);407407+}408408+409409+static inline int mtd_block_isbad(struct mtd_info *mtd, loff_t ofs)410410+{411411+ return mtd->block_isbad(mtd, ofs);407412}408413409414static inline struct mtd_info *dev_to_mtd(struct device *dev)