mtd: introduce mtd_unlock interface
authorArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Fri, 23 Dec 2011 17:18:22 +0000 (19:18 +0200)
committerDavid Woodhouse <David.Woodhouse@intel.com>
Mon, 9 Jan 2012 18:25:40 +0000 (18:25 +0000)
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
drivers/mtd/mtdchar.c
drivers/mtd/mtdconcat.c
drivers/mtd/mtdcore.c
drivers/mtd/mtdpart.c
include/linux/mtd/mtd.h

index 870f2cb415cb0db951422878b56b03657fe515da..fe09cd2a45404bf45c8f7ff49303f5cfbb57cd4c 100644 (file)
@@ -838,7 +838,7 @@ static int mtdchar_ioctl(struct file *file, u_int cmd, u_long arg)
                if (!mtd->unlock)
                        ret = -EOPNOTSUPP;
                else
-                       ret = mtd->unlock(mtd, einfo.start, einfo.length);
+                       ret = mtd_unlock(mtd, einfo.start, einfo.length);
                break;
        }
 
index 97d6360986c8f190b6cc3312409bd8d1db1b19d5..272ebc01f95beb8fb011ae08114581fde8d2466f 100644 (file)
@@ -596,7 +596,7 @@ static int concat_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
                        size = len;
 
                if (subdev->unlock) {
-                       err = subdev->unlock(subdev, ofs, size);
+                       err = mtd_unlock(subdev, ofs, size);
                        if (err)
                                break;
                } else
index e36191ab47c335740e522e8b4a029f87b75ad211..4a2155748fa370383d038134e77fba2d6ac5991d 100644 (file)
@@ -340,7 +340,7 @@ int add_mtd_device(struct mtd_info *mtd)
        /* Some chips always power up locked. Unlock them now */
        if ((mtd->flags & MTD_WRITEABLE)
            && (mtd->flags & MTD_POWERUP_LOCK) && mtd->unlock) {
-               if (mtd->unlock(mtd, 0, mtd->size))
+               if (mtd_unlock(mtd, 0, mtd->size))
                        printk(KERN_WARNING
                               "%s: unlock failed, writes may not work\n",
                               mtd->name);
index a5e7a2103dcf7f32c6cd91386e148afb63870fed..d65af37523311f65bf40390808e561e61da3ffbc 100644 (file)
@@ -287,7 +287,7 @@ static int part_unlock(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->unlock(part->master, ofs + part->offset, len);
+       return mtd_unlock(part->master, ofs + part->offset, len);
 }
 
 static int part_is_locked(struct mtd_info *mtd, loff_t ofs, uint64_t len)
index 167bac2e380e6d59984a8333ac4ac1357943f2ee..f30c35886f7c71059ff3773dc7d47b5f0ba685c4 100644 (file)
@@ -208,13 +208,13 @@ struct mtd_info {
                        unsigned long count, loff_t to, size_t *retlen);
        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);
 
        /* Backing device capabilities for this device
         * - provides mmap capabilities
         */
        struct backing_dev_info *backing_dev_info;
 
-       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);
 
        /* Power Management functions */
@@ -389,6 +389,11 @@ static inline int mtd_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
        return mtd->lock(mtd, ofs, len);
 }
 
+static inline int mtd_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len)
+{
+       return mtd->unlock(mtd, ofs, len);
+}
+
 static inline struct mtd_info *dev_to_mtd(struct device *dev)
 {
        return dev ? dev_get_drvdata(dev) : NULL;