summaryrefslogtreecommitdiff
path: root/include/linux/mtd/mtd.h
diff options
context:
space:
mode:
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2012-01-02 15:48:54 +0400
committerDavid Woodhouse <David.Woodhouse@intel.com>2012-01-09 22:26:24 +0400
commit8f461a730242c528ca221948edceca49266a3ffb (patch)
tree232b1d9ac6a74df87a84c9e1e6a61415afc9f583 /include/linux/mtd/mtd.h
parent079c985e7a6f4ce60f931cebfdd5ee3c38347e31 (diff)
downloadlinux-8f461a730242c528ca221948edceca49266a3ffb.tar.xz
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>
Diffstat (limited to 'include/linux/mtd/mtd.h')
-rw-r--r--include/linux/mtd/mtd.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index 089370758fc9..7e35755f6931 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -440,6 +440,8 @@ static inline void mtd_resume(struct mtd_info *mtd)
static inline int mtd_block_isbad(struct mtd_info *mtd, loff_t ofs)
{
+ if (!mtd->block_isbad)
+ return -EOPNOTSUPP;
return mtd->block_isbad(mtd, ofs);
}
@@ -483,6 +485,11 @@ static inline int mtd_has_oob(const struct mtd_info *mtd)
return mtd->read_oob && mtd->write_oob;
}
+static inline int mtd_can_have_bb(const struct mtd_info *mtd)
+{
+ return !!mtd->block_isbad;
+}
+
/* Kernel-side ioctl definitions */
struct mtd_partition;