diff options
author | Christoph Hellwig <hch@lst.de> | 2015-01-14 04:42:32 -0500 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2015-01-20 16:02:58 -0500 |
commit | b4caecd48005fbed3949dde6c1cb233142fd69e9 (patch) | |
tree | 1fdd9b7c15568c79eb3c1ed84a39858ddbcbc88b /drivers/mtd/mtdconcat.c | |
parent | 97b713ba3ebaa6c8d84c2c720f5468a7c6a6eb4e (diff) |
fs: introduce f_op->mmap_capabilities for nommu mmap support
Since "BDI: Provide backing device capability information [try #3]" the
backing_dev_info structure also provides flags for the kind of mmap
operation available in a nommu environment, which is entirely unrelated
to it's original purpose.
Introduce a new nommu-only file operation to provide this information to
the nommu mmap code instead. Splitting this from the backing_dev_info
structure allows to remove lots of backing_dev_info instance that aren't
otherwise needed, and entirely gets rid of the concept of providing a
backing_dev_info for a character device. It also removes the need for
the mtd_inodefs filesystem.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Tejun Heo <tj@kernel.org>
Acked-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/mtd/mtdconcat.c')
-rw-r--r-- | drivers/mtd/mtdconcat.c | 10 |
1 files changed, 0 insertions, 10 deletions
diff --git a/drivers/mtd/mtdconcat.c b/drivers/mtd/mtdconcat.c index b9000563b9f4..eacc3aac7327 100644 --- a/drivers/mtd/mtdconcat.c +++ b/drivers/mtd/mtdconcat.c | |||
@@ -732,8 +732,6 @@ struct mtd_info *mtd_concat_create(struct mtd_info *subdev[], /* subdevices to c | |||
732 | 732 | ||
733 | concat->mtd.ecc_stats.badblocks = subdev[0]->ecc_stats.badblocks; | 733 | concat->mtd.ecc_stats.badblocks = subdev[0]->ecc_stats.badblocks; |
734 | 734 | ||
735 | concat->mtd.backing_dev_info = subdev[0]->backing_dev_info; | ||
736 | |||
737 | concat->subdev[0] = subdev[0]; | 735 | concat->subdev[0] = subdev[0]; |
738 | 736 | ||
739 | for (i = 1; i < num_devs; i++) { | 737 | for (i = 1; i < num_devs; i++) { |
@@ -761,14 +759,6 @@ struct mtd_info *mtd_concat_create(struct mtd_info *subdev[], /* subdevices to c | |||
761 | subdev[i]->flags & MTD_WRITEABLE; | 759 | subdev[i]->flags & MTD_WRITEABLE; |
762 | } | 760 | } |
763 | 761 | ||
764 | /* only permit direct mapping if the BDIs are all the same | ||
765 | * - copy-mapping is still permitted | ||
766 | */ | ||
767 | if (concat->mtd.backing_dev_info != | ||
768 | subdev[i]->backing_dev_info) | ||
769 | concat->mtd.backing_dev_info = | ||
770 | &default_backing_dev_info; | ||
771 | |||
772 | concat->mtd.size += subdev[i]->size; | 762 | concat->mtd.size += subdev[i]->size; |
773 | concat->mtd.ecc_stats.badblocks += | 763 | concat->mtd.ecc_stats.badblocks += |
774 | subdev[i]->ecc_stats.badblocks; | 764 | subdev[i]->ecc_stats.badblocks; |