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>
This commit is contained in:
Artem Bityutskiy 2011-12-23 19:21:16 +02:00 committed by David Woodhouse
parent b66005cd3e
commit e95e978645
3 changed files with 8 additions and 4 deletions

View File

@ -852,7 +852,7 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
if (!mtd->is_locked) if (!mtd->is_locked)
ret = -EOPNOTSUPP; ret = -EOPNOTSUPP;
else else
ret = mtd->is_locked(mtd, einfo.start, einfo.length); ret = mtd_is_locked(mtd, einfo.start, einfo.length);
break; break;
} }

View File

@ -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); struct mtd_part *part = PART(mtd);
if ((len + ofs) > mtd->size) if ((len + ofs) > mtd->size)
return -EINVAL; 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) static void part_sync(struct mtd_info *mtd)

View File

@ -209,14 +209,13 @@ struct mtd_info {
void (*sync) (struct mtd_info *mtd); void (*sync) (struct mtd_info *mtd);
int (*lock) (struct mtd_info *mtd, loff_t ofs, uint64_t len); 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 (*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 /* Backing device capabilities for this device
* - provides mmap capabilities * - provides mmap capabilities
*/ */
struct backing_dev_info *backing_dev_info; struct backing_dev_info *backing_dev_info;
int (*is_locked) (struct mtd_info *mtd, loff_t ofs, uint64_t len);
/* Power Management functions */ /* Power Management functions */
int (*suspend) (struct mtd_info *mtd); int (*suspend) (struct mtd_info *mtd);
void (*resume) (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); 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) static inline struct mtd_info *dev_to_mtd(struct device *dev)
{ {
return dev ? dev_get_drvdata(dev) : NULL; return dev ? dev_get_drvdata(dev) : NULL;