2013-03-15 15:02:19 +04:00
|
|
|
/*
|
mtd: merge mtdchar module with mtdcore
The MTD subsystem has historically tried to be as configurable as possible. The
side-effect of this is that its configuration menu is rather large, and we are
gradually shrinking it. For example, we recently merged partitions support with
the mtdcore.
This patch does the next step - it merges the mtdchar module to mtdcore. And in
this case this is not only about eliminating too fine-grained separation and
simplifying the configuration menu. This is also about eliminating seemingly
useless kernel module.
Indeed, mtdchar is a module that allows user-space making use of MTD devices
via /dev/mtd* character devices. If users do not enable it, they simply cannot
use MTD devices at all. They cannot read or write the flash contents. Is it a
sane and useful setup? I believe not. And everyone just enables mtdchar.
Having mtdchar separate is also a little bit harmful. People sometimes miss the
fact that they need to enable an additional configuration option to have
user-space MTD interfaces, and then they wonder why on earth the kernel does
not allow using the flash? They spend time asking around.
Thus, let's just get rid of this module and make it part of mtd core.
Note, mtdchar had additional configuration option to enable OTP interfaces,
which are present on some flashes. I removed that option as well - it saves a
really tiny amount space.
[dwmw2: Strictly speaking, you can mount file systems on MTD devices just
fine without the mtdchar (or mtdblock) devices; you just can't do
other manipulations directly on the underlying device. But still I
agree that it makes sense to make this unconditional. And Yay! we
get to kill off an instance of checking CONFIG_foo_MODULE, which is
an abomination that should never happen.]
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2013-03-14 15:27:40 +04:00
|
|
|
* These are exported solely for the purpose of mtd_blkdevs.c and mtdchar.c.
|
|
|
|
* You should not use them for _anything_ else.
|
2007-05-28 23:28:34 +04:00
|
|
|
*/
|
|
|
|
|
|
|
|
extern struct mutex mtd_table_mutex;
|
2010-01-29 23:57:11 +03:00
|
|
|
|
2013-03-15 15:02:19 +04:00
|
|
|
struct mtd_info *__mtd_next_device(int i);
|
|
|
|
int add_mtd_device(struct mtd_info *mtd);
|
|
|
|
int del_mtd_device(struct mtd_info *mtd);
|
|
|
|
int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
|
|
|
|
int del_mtd_partitions(struct mtd_info *);
|
2015-12-05 02:25:17 +03:00
|
|
|
|
|
|
|
struct mtd_partitions;
|
|
|
|
|
2013-03-15 15:02:19 +04:00
|
|
|
int parse_mtd_partitions(struct mtd_info *master, const char * const *types,
|
2015-12-05 02:25:17 +03:00
|
|
|
struct mtd_partitions *pparts,
|
2013-03-15 15:02:19 +04:00
|
|
|
struct mtd_part_parser_data *data);
|
2011-05-23 13:23:42 +04:00
|
|
|
|
2015-12-09 21:24:03 +03:00
|
|
|
void mtd_part_parser_cleanup(struct mtd_partitions *parts);
|
|
|
|
|
mtd: merge mtdchar module with mtdcore
The MTD subsystem has historically tried to be as configurable as possible. The
side-effect of this is that its configuration menu is rather large, and we are
gradually shrinking it. For example, we recently merged partitions support with
the mtdcore.
This patch does the next step - it merges the mtdchar module to mtdcore. And in
this case this is not only about eliminating too fine-grained separation and
simplifying the configuration menu. This is also about eliminating seemingly
useless kernel module.
Indeed, mtdchar is a module that allows user-space making use of MTD devices
via /dev/mtd* character devices. If users do not enable it, they simply cannot
use MTD devices at all. They cannot read or write the flash contents. Is it a
sane and useful setup? I believe not. And everyone just enables mtdchar.
Having mtdchar separate is also a little bit harmful. People sometimes miss the
fact that they need to enable an additional configuration option to have
user-space MTD interfaces, and then they wonder why on earth the kernel does
not allow using the flash? They spend time asking around.
Thus, let's just get rid of this module and make it part of mtd core.
Note, mtdchar had additional configuration option to enable OTP interfaces,
which are present on some flashes. I removed that option as well - it saves a
really tiny amount space.
[dwmw2: Strictly speaking, you can mount file systems on MTD devices just
fine without the mtdchar (or mtdblock) devices; you just can't do
other manipulations directly on the underlying device. But still I
agree that it makes sense to make this unconditional. And Yay! we
get to kill off an instance of checking CONFIG_foo_MODULE, which is
an abomination that should never happen.]
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
2013-03-14 15:27:40 +04:00
|
|
|
int __init init_mtdchar(void);
|
|
|
|
void __exit cleanup_mtdchar(void);
|
|
|
|
|
2010-01-29 23:57:11 +03:00
|
|
|
#define mtd_for_each_device(mtd) \
|
|
|
|
for ((mtd) = __mtd_next_device(0); \
|
|
|
|
(mtd) != NULL; \
|
|
|
|
(mtd) = __mtd_next_device(mtd->index + 1))
|