diff options
author | David Howells <dhowells@redhat.com> | 2009-02-12 05:40:00 -0500 |
---|---|---|
committer | David Woodhouse <David.Woodhouse@intel.com> | 2009-03-24 05:00:19 -0400 |
commit | 402d326519c1a4859c527702383f4e60f606ef52 (patch) | |
tree | beb302d56d7671d372ae73f2664feed2a5b1226d /drivers/mtd/mtdcore.c | |
parent | 9ce969082e490d0a5a81862b364337c93dc3482a (diff) |
NOMMU: Present backing device capabilities for MTD chardevs
Present backing device capabilities for MTD character device files to allow
NOMMU mmap to do direct mapping where possible.
Signed-off-by: David Howells <dhowells@redhat.com>
Tested-by: Bernd Schmidt <bernd.schmidt@analog.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/mtdcore.c')
-rw-r--r-- | drivers/mtd/mtdcore.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/mtd/mtdcore.c b/drivers/mtd/mtdcore.c index 76fe0a1e7a5e..65a7f3703881 100644 --- a/drivers/mtd/mtdcore.c +++ b/drivers/mtd/mtdcore.c | |||
@@ -19,6 +19,7 @@ | |||
19 | #include <linux/proc_fs.h> | 19 | #include <linux/proc_fs.h> |
20 | 20 | ||
21 | #include <linux/mtd/mtd.h> | 21 | #include <linux/mtd/mtd.h> |
22 | #include "internal.h" | ||
22 | 23 | ||
23 | #include "mtdcore.h" | 24 | #include "mtdcore.h" |
24 | 25 | ||
@@ -46,6 +47,20 @@ int add_mtd_device(struct mtd_info *mtd) | |||
46 | { | 47 | { |
47 | int i; | 48 | int i; |
48 | 49 | ||
50 | if (!mtd->backing_dev_info) { | ||
51 | switch (mtd->type) { | ||
52 | case MTD_RAM: | ||
53 | mtd->backing_dev_info = &mtd_bdi_rw_mappable; | ||
54 | break; | ||
55 | case MTD_ROM: | ||
56 | mtd->backing_dev_info = &mtd_bdi_ro_mappable; | ||
57 | break; | ||
58 | default: | ||
59 | mtd->backing_dev_info = &mtd_bdi_unmappable; | ||
60 | break; | ||
61 | } | ||
62 | } | ||
63 | |||
49 | BUG_ON(mtd->writesize == 0); | 64 | BUG_ON(mtd->writesize == 0); |
50 | mutex_lock(&mtd_table_mutex); | 65 | mutex_lock(&mtd_table_mutex); |
51 | 66 | ||