diff options
| author | Artem Bityutskiy <artem.bityutskiy@linux.intel.com> | 2011-12-23 17:00:37 +0200 | 
|---|---|---|
| committer | David Woodhouse <David.Woodhouse@intel.com> | 2012-01-09 18:25:15 +0000 | 
| commit | d35ea200c0fb5315f16fb2599a4bafd9c1a7b386 (patch) | |
| tree | bca893ecf2cada20a1a3a84f64759c2e75838c5b | |
| parent | 7e1f0dc0551b99acb5e8fa161a7ac401994d57d8 (diff) | |
| download | olio-linux-3.10-d35ea200c0fb5315f16fb2599a4bafd9c1a7b386.tar.xz olio-linux-3.10-d35ea200c0fb5315f16fb2599a4bafd9c1a7b386.zip  | |
mtd: introduce mtd_point 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/mtdpart.c | 4 | ||||
| -rw-r--r-- | fs/jffs2/erase.c | 4 | ||||
| -rw-r--r-- | fs/jffs2/readinode.c | 4 | ||||
| -rw-r--r-- | fs/jffs2/scan.c | 4 | ||||
| -rw-r--r-- | include/linux/mtd/mtd.h | 14 | 
5 files changed, 18 insertions, 12 deletions
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c index d318fee2859..5b664722e5b 100644 --- a/drivers/mtd/mtdpart.c +++ b/drivers/mtd/mtdpart.c @@ -89,8 +89,8 @@ static int part_point(struct mtd_info *mtd, loff_t from, size_t len,  		len = 0;  	else if (from + len > mtd->size)  		len = mtd->size - from; -	return part->master->point (part->master, from + part->offset, -				    len, retlen, virt, phys); +	return mtd_point(part->master, from + part->offset, len, retlen, +			 virt, phys);  }  static void part_unpoint(struct mtd_info *mtd, loff_t from, size_t len) diff --git a/fs/jffs2/erase.c b/fs/jffs2/erase.c index 540e8eca1b4..53f8794fda6 100644 --- a/fs/jffs2/erase.c +++ b/fs/jffs2/erase.c @@ -340,8 +340,8 @@ static int jffs2_block_check_erase(struct jffs2_sb_info *c, struct jffs2_erasebl  	if (c->mtd->point) {  		unsigned long *wordebuf; -		ret = c->mtd->point(c->mtd, jeb->offset, c->sector_size, -				    &retlen, &ebuf, NULL); +		ret = mtd_point(c->mtd, jeb->offset, c->sector_size, &retlen, +				&ebuf, NULL);  		if (ret) {  			D1(printk(KERN_DEBUG "MTD point failed %d\n", ret));  			goto do_flash_read; diff --git a/fs/jffs2/readinode.c b/fs/jffs2/readinode.c index ee57bac1ba6..dde61effeda 100644 --- a/fs/jffs2/readinode.c +++ b/fs/jffs2/readinode.c @@ -63,8 +63,8 @@ static int check_node_data(struct jffs2_sb_info *c, struct jffs2_tmp_dnode_info  	/* TODO: instead, incapsulate point() stuff to jffs2_flash_read(),  	 * adding and jffs2_flash_read_end() interface. */  	if (c->mtd->point) { -		err = c->mtd->point(c->mtd, ofs, len, &retlen, -				    (void **)&buffer, NULL); +		err = mtd_point(c->mtd, ofs, len, &retlen, (void **)&buffer, +				NULL);  		if (!err && retlen < len) {  			JFFS2_WARNING("MTD point returned len too short: %zu instead of %u.\n", retlen, tn->csize);  			c->mtd->unpoint(c->mtd, ofs, retlen); diff --git a/fs/jffs2/scan.c b/fs/jffs2/scan.c index 28107ca136e..53e05c8e5b6 100644 --- a/fs/jffs2/scan.c +++ b/fs/jffs2/scan.c @@ -97,8 +97,8 @@ int jffs2_scan_medium(struct jffs2_sb_info *c)  	size_t pointlen, try_size;  	if (c->mtd->point) { -		ret = c->mtd->point(c->mtd, 0, c->mtd->size, &pointlen, -				    (void **)&flashbuf, NULL); +		ret = mtd_point(c->mtd, 0, c->mtd->size, &pointlen, +				(void **)&flashbuf, NULL);  		if (!ret && pointlen < c->mtd->size) {  			/* Don't muck about if it won't let us point to the whole flash */  			D1(printk(KERN_DEBUG "MTD point returned len too short: 0x%zx\n", pointlen)); diff --git a/include/linux/mtd/mtd.h b/include/linux/mtd/mtd.h index 201bad55704..ca7bfdaf7a6 100644 --- a/include/linux/mtd/mtd.h +++ b/include/linux/mtd/mtd.h @@ -175,11 +175,8 @@ struct mtd_info {  	 * wrappers instead.  	 */  	int (*erase) (struct mtd_info *mtd, struct erase_info *instr); - -	/* This stuff for eXecute-In-Place */ -	/* phys is optional and may be set to NULL */  	int (*point) (struct mtd_info *mtd, loff_t from, size_t len, -			size_t *retlen, void **virt, resource_size_t *phys); +		      size_t *retlen, void **virt, resource_size_t *phys);  	/* We probably shouldn't allow XIP if the unpoint isn't a NULL */  	void (*unpoint) (struct mtd_info *mtd, loff_t from, size_t len); @@ -283,6 +280,15 @@ static inline int mtd_erase(struct mtd_info *mtd, struct erase_info *instr)  	return mtd->erase(mtd, instr);  } +/* + * This stuff for eXecute-In-Place. phys is optional and may be set to NULL. + */ +static inline int mtd_point(struct mtd_info *mtd, loff_t from, size_t len, +			    size_t *retlen, void **virt, resource_size_t *phys) +{ +	return mtd->point(mtd, from, len, retlen, virt, phys); +} +  static inline struct mtd_info *dev_to_mtd(struct device *dev)  {  	return dev ? dev_get_drvdata(dev) : NULL;  |