summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>2011-12-23 19:21:16 +0200
committerDavid Woodhouse <David.Woodhouse@intel.com>2012-01-09 18:25:42 +0000
commite95e9786455c11c8eac30d76e5289d4e40187f9a (patch)
tree6e6023478b39037d935d180d6fc3903bf4235165
parentb66005cd3e6f104e0a1b6492110c337269b53ec3 (diff)
downloadlinux-stable-e95e9786455c11c8eac30d76e5289d4e40187f9a.tar.gz
linux-stable-e95e9786455c11c8eac30d76e5289d4e40187f9a.tar.bz2
linux-stable-e95e9786455c11c8eac30d76e5289d4e40187f9a.zip
mtd: introduce mtd_is_locked interface
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com> Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
-rw-r--r--drivers/mtd/mtdchar.c2
-rw-r--r--drivers/mtd/mtdpart.c2
-rw-r--r--include/linux/mtd/mtd.h8
3 files changed, 8 insertions, 4 deletions
diff --git a/drivers/mtd/mtdchar.c b/drivers/mtd/mtdchar.c
index fe09cd2a4540..6d598b23cf3a 100644
--- a/drivers/mtd/mtdchar.c
+++ b/drivers/mtd/mtdchar.c
@@ -852,7 +852,7 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
if (!mtd->is_locked)
ret = -EOPNOTSUPP;
else
- ret = mtd->is_locked(mtd, einfo.start, einfo.length);
+ ret = mtd_is_locked(mtd, einfo.start, einfo.length);
break;
}
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
index d65af3752331..ad487fcd423f 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -295,7 +295,7 @@ static int part_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
struct mtd_part *part = PART(mtd);
if ((len + ofs) > mtd->size)
return -EINVAL;
- return part->master->is_locked(part->master, ofs + part->offset, len);
+ return mtd_is_locked(part->master, ofs + part->offset, len);
}
static void part_sync(struct mtd_info *mtd)
diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h
index f30c35886f7c..8b9901986c86 100644
--- a/include/linux/mtd/mtd.h
+++ b/include/linux/mtd/mtd.h
@@ -209,14 +209,13 @@ struct mtd_info {
void (*sync) (struct mtd_info *mtd);
int (*lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len);
int (*unlock) (struct mtd_info *mtd, loff_t ofs, uint64_t len);
+ int (*is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len);
/* Backing device capabilities for this device
* - provides mmap capabilities
*/
struct backing_dev_info *backing_dev_info;
- int (*is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len);
-
/* Power Management functions */
int (*suspend) (struct mtd_info *mtd);
void (*resume) (struct mtd_info *mtd);
@@ -394,6 +393,11 @@ static inline int mtd_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
return mtd->unlock(mtd, ofs, len);
}
+static inline int mtd_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
+{
+ return mtd->is_locked(mtd, ofs, len);
+}
+
static inline struct mtd_info *dev_to_mtd(struct device *dev)
{
return dev ? dev_get_drvdata(dev) : NULL;