Skip to content

Commit

Permalink
mtd: introduce mtd_get_unmapped_area interface
Browse files Browse the repository at this point in the history
Signed-off-by: Artem Bityutskiy <[email protected]>
Signed-off-by: David Woodhouse <[email protected]>
  • Loading branch information
dedekind authored and David Woodhouse committed Jan 9, 2012
1 parent 7219778 commit 04c601b
Show file tree
Hide file tree
Showing 5 changed files with 18 additions and 11 deletions.
2 changes: 1 addition & 1 deletion drivers/mtd/mtdchar.c
Original file line number Diff line number Diff line change
Expand Up @@ -1135,7 +1135,7 @@ static unsigned long mtdchar_get_unmapped_area(struct file *file,
if (offset > mtd->size - len)
return (unsigned long) -EINVAL;

return mtd->get_unmapped_area(mtd, len, offset, flags);
return mtd_get_unmapped_area(mtd, len, offset, flags);
}

/* can't map directly */
Expand Down
4 changes: 2 additions & 2 deletions drivers/mtd/mtdconcat.c
Original file line number Diff line number Diff line change
Expand Up @@ -726,8 +726,8 @@ static unsigned long concat_get_unmapped_area(struct mtd_info *mtd,
return (unsigned long) -EINVAL;

if (subdev->get_unmapped_area)
return subdev->get_unmapped_area(subdev, len, offset,
flags);
return mtd_get_unmapped_area(subdev, len, offset,
flags);

break;
}
Expand Down
3 changes: 1 addition & 2 deletions drivers/mtd/mtdpart.c
Original file line number Diff line number Diff line change
Expand Up @@ -108,8 +108,7 @@ static unsigned long part_get_unmapped_area(struct mtd_info *mtd,
struct mtd_part *part = PART(mtd);

offset += part->offset;
return part->master->get_unmapped_area(part->master, len, offset,
flags);
return mtd_get_unmapped_area(part->master, len, offset, flags);
}

static int part_read_oob(struct mtd_info *mtd, loff_t from,
Expand Down
2 changes: 1 addition & 1 deletion fs/romfs/mmap-nommu.c
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ static unsigned long romfs_get_unmapped_area(struct file *file,
if (offset > mtd->size - len)
return (unsigned long) -EINVAL;

return mtd->get_unmapped_area(mtd, len, offset, flags);
return mtd_get_unmapped_area(mtd, len, offset, flags);
}

cant_map_directly:
Expand Down
18 changes: 13 additions & 5 deletions include/linux/mtd/mtd.h
Original file line number Diff line number Diff line change
Expand Up @@ -178,11 +178,6 @@ struct mtd_info {
int (*point) (struct mtd_info *mtd, loff_t from, size_t len,
size_t *retlen, void **virt, resource_size_t *phys);
void (*unpoint) (struct mtd_info *mtd, loff_t from, size_t len);

/* Allow NOMMU mmap() to directly map the device (if not NULL)
* - return the address to which the offset maps
* - return -ENOSYS to indicate refusal to do the mapping
*/
unsigned long (*get_unmapped_area) (struct mtd_info *mtd,
unsigned long len,
unsigned long offset,
Expand Down Expand Up @@ -293,6 +288,19 @@ static inline void mtd_unpoint(struct mtd_info *mtd, loff_t from, size_t len)
return mtd->unpoint(mtd, from, len);
}

/*
* Allow NOMMU mmap() to directly map the device (if not NULL)
* - return the address to which the offset maps
* - return -ENOSYS to indicate refusal to do the mapping
*/
static inline unsigned long mtd_get_unmapped_area(struct mtd_info *mtd,
unsigned long len,
unsigned long offset,
unsigned long flags)
{
return mtd->get_unmapped_area(mtd, len, offset, flags);
}

static inline struct mtd_info *dev_to_mtd(struct device *dev)
{
return dev ? dev_get_drvdata(dev) : NULL;
Expand Down

0 comments on commit 04c601b

Please sign in to comment.