mtd: abstract last MTD partition parser argument

Encapsulate last MTD partition parser argument into a separate
structure. Currently it holds only 'origin' field for RedBoot parser,
but will be extended in future to contain at least device_node for OF
devices.

Amended commentary to make kerneldoc happy

Signed-off-by: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Signed-off-by: Artem Bityutskiy <dedekind1@gmail.com>
This commit is contained in:
Dmitry Eremin-Solenikov
2011-06-10 18:18:28 +04:00
committed by Artem Bityutskiy
parent f722013ee9
commit c797533015
8 changed files with 33 additions and 21 deletions

View File

@@ -52,6 +52,15 @@ struct mtd_partition {
struct mtd_info;
/**
* struct mtd_part_parser_data - used to pass data to MTD partition parsers.
* @origin: for RedBoot, start address of MTD device
*/
struct mtd_part_parser_data {
unsigned long origin;
};
/*
* Functions dealing with the various ways of partitioning the space
*/
@@ -60,13 +69,15 @@ struct mtd_part_parser {
struct list_head list;
struct module *owner;
const char *name;
int (*parse_fn)(struct mtd_info *, struct mtd_partition **, unsigned long);
int (*parse_fn)(struct mtd_info *, struct mtd_partition **,
struct mtd_part_parser_data *);
};
extern int register_mtd_parser(struct mtd_part_parser *parser);
extern int deregister_mtd_parser(struct mtd_part_parser *parser);
extern int parse_mtd_partitions(struct mtd_info *master, const char **types,
struct mtd_partition **pparts, unsigned long origin);
struct mtd_partition **pparts,
struct mtd_part_parser_data *data);
#define put_partition_parser(p) do { module_put((p)->owner); } while(0)