summaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorArtem Bityutskiy2011-12-28 16:50:34 +0100
committerDavid Woodhouse2012-01-09 19:26:14 +0100
commitdac2639f9833e858139d7e07f6ee45fb2191a9f2 (patch)
tree8927b0959d8415e419f321a8b43974ed8834b680 /include/linux
parentmtd: mtdoops: do not use mtd->panic_write directly (diff)
downloadkernel-qcow2-linux-dac2639f9833e858139d7e07f6ee45fb2191a9f2.tar.gz
kernel-qcow2-linux-dac2639f9833e858139d7e07f6ee45fb2191a9f2.tar.xz
kernel-qcow2-linux-dac2639f9833e858139d7e07f6ee45fb2191a9f2.zip
mtd: do not use mtd->read_oob directly
Instead of checking whether 'mtd->read_oob' is defined, just call 'mtd_read_oob()' and handle the '-EOPNOTSUPP' error which will be returned if the function is undefined. Additionally, make 'mtd_write_oob()' return '-EOPNOTSUPP' if the function is undefined. Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/mtd/mtd.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index b72964049cdc..721a63ffeb96 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -320,6 +320,8 @@ static inline int mtd_read_oob(struct mtd_info *mtd, loff_t from,
struct mtd_oob_ops *ops)
{
ops->retlen = ops->oobretlen = 0;
+ if (!mtd->read_oob)
+ return -EOPNOTSUPP;
return mtd->read_oob(mtd, from, ops);
}
@@ -327,6 +329,8 @@ static inline int mtd_write_oob(struct mtd_info *mtd, loff_t to,
struct mtd_oob_ops *ops)
{
ops->retlen = ops->oobretlen = 0;
+ if (!mtd->write_oob)
+ return -EOPNOTSUPP;
return mtd->write_oob(mtd, to, ops);
}