diff options
author | Artem Bityutskiy <artem.bityutskiy@linux.intel.com> | 2011-12-23 12:21:16 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-01-09 13:25:42 -0500 |
commit | e95e9786455c11c8eac30d76e5289d4e40187f9a (patch) | |
tree | 6e6023478b39037d935d180d6fc3903bf4235165 | |
parent | b66005cd3e6f104e0a1b6492110c337269b53ec3 (diff) |
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.c | 2 | ||||
-rw-r--r-- | drivers/mtd/mtdpart.c | 2 | ||||
-rw-r--r-- | include/linux/mtd/mtd.h | 8 |
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) | |||
852 | if (!mtd->is_locked) | 852 | if (!mtd->is_locked) |
853 | ret = -EOPNOTSUPP; | 853 | ret = -EOPNOTSUPP; |
854 | else | 854 | else |
855 | ret = mtd->is_locked(mtd, einfo.start, einfo.length); | 855 | ret = mtd_is_locked(mtd, einfo.start, einfo.length); |
856 | break; | 856 | break; |
857 | } | 857 | } |
858 | 858 | ||
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) | |||
295 | struct mtd_part *part = PART(mtd); | 295 | struct mtd_part *part = PART(mtd); |
296 | if ((len + ofs) > mtd->size) | 296 | if ((len + ofs) > mtd->size) |
297 | return -EINVAL; | 297 | return -EINVAL; |
298 | return part->master->is_locked(part->master, ofs + part->offset, len); | 298 | return mtd_is_locked(part->master, ofs + part->offset, len); |
299 | } | 299 | } |
300 | 300 | ||
301 | static void part_sync(struct mtd_info *mtd) | 301 | 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 { | |||
209 | void (*sync) (struct mtd_info *mtd); | 209 | void (*sync) (struct mtd_info *mtd); |
210 | int (*lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); | 210 | int (*lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); |
211 | int (*unlock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); | 211 | int (*unlock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); |
212 | int (*is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len); | ||
212 | 213 | ||
213 | /* Backing device capabilities for this device | 214 | /* Backing device capabilities for this device |
214 | * - provides mmap capabilities | 215 | * - provides mmap capabilities |
215 | */ | 216 | */ |
216 | struct backing_dev_info *backing_dev_info; | 217 | struct backing_dev_info *backing_dev_info; |
217 | 218 | ||
218 | int (*is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len); | ||
219 | |||
220 | /* Power Management functions */ | 219 | /* Power Management functions */ |
221 | int (*suspend) (struct mtd_info *mtd); | 220 | int (*suspend) (struct mtd_info *mtd); |
222 | void (*resume) (struct mtd_info *mtd); | 221 | 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) | |||
394 | return mtd->unlock(mtd, ofs, len); | 393 | return mtd->unlock(mtd, ofs, len); |
395 | } | 394 | } |
396 | 395 | ||
396 | static inline int mtd_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len) | ||
397 | { | ||
398 | return mtd->is_locked(mtd, ofs, len); | ||
399 | } | ||
400 | |||
397 | static inline struct mtd_info *dev_to_mtd(struct device *dev) | 401 | static inline struct mtd_info *dev_to_mtd(struct device *dev) |
398 | { | 402 | { |
399 | return dev ? dev_get_drvdata(dev) : NULL; | 403 | return dev ? dev_get_drvdata(dev) : NULL; |