mtd: introduce mtd_can_have_bb helper
This patch introduces new 'mtd_can_have_bb()' helper function which checks whether the flash can have bad eraseblocks. Then it changes all the direct 'mtd->block_isbad' use cases with 'mtd_can_have_bb()'. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
This commit is contained in:

committato da
David Woodhouse

parent
079c985e7a
commit
8f461a7302
@@ -148,8 +148,7 @@ static int scan_for_bad_eraseblocks(void)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* NOR flash does not implement block_isbad */
|
||||
if (mtd->block_isbad == NULL)
|
||||
if (!mtd_can_have_bb(mtd))
|
||||
return 0;
|
||||
|
||||
printk(PRINT_PREF "scanning for bad eraseblocks\n");
|
||||
|
@@ -336,8 +336,7 @@ static int scan_for_bad_eraseblocks(void)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* NOR flash does not implement block_isbad */
|
||||
if (mtd->block_isbad == NULL)
|
||||
if (!mtd_can_have_bb(mtd))
|
||||
goto out;
|
||||
|
||||
printk(PRINT_PREF "scanning for bad eraseblocks\n");
|
||||
|
@@ -227,8 +227,7 @@ static int scan_for_bad_eraseblocks(void)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
/* NOR flash does not implement block_isbad */
|
||||
if (mtd->block_isbad == NULL)
|
||||
if (!mtd_can_have_bb(mtd))
|
||||
return 0;
|
||||
|
||||
printk(PRINT_PREF "scanning for bad eraseblocks\n");
|
||||
|
@@ -290,7 +290,7 @@ static int __init tort_init(void)
|
||||
* Check if there is a bad eraseblock among those we are going to test.
|
||||
*/
|
||||
memset(&bad_ebs[0], 0, sizeof(int) * ebcnt);
|
||||
if (mtd->block_isbad) {
|
||||
if (mtd_can_have_bb(mtd)) {
|
||||
for (i = eb; i < eb + ebcnt; i++) {
|
||||
err = mtd_block_isbad(mtd, (loff_t)i * mtd->erasesize);
|
||||
|
||||
|
Fai riferimento in un nuovo problema
Block a user