Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e95e9786 authored by Artem Bityutskiy's avatar Artem Bityutskiy Committed by David Woodhouse
Browse files

mtd: introduce mtd_is_locked interface

parent b66005cd
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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;
	}
	}


+1 −1
Original line number Original line Diff line number Diff line
@@ -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)
+6 −2
Original line number Original line Diff line number Diff line
@@ -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;