summaryrefslogtreecommitdiff
path: root/include/linux/mtd/partitions.h
diff options
context:
space:
mode:
authorDmitry Eremin-Solenikov <dbaryshkov@gmail.com>2011-06-10 18:18:28 +0400
committerArtem Bityutskiy <artem.bityutskiy@intel.com>2011-09-11 16:02:10 +0400
commitc7975330154af17aecc167b33ca866b6b3d98918 (patch)
treeb9895816b3f9bd53758410754ad1b1061986a8dd /include/linux/mtd/partitions.h
parentf722013ee9fd24623df31dec9a91a6d02c3e2f2f (diff)
downloadlinux-c7975330154af17aecc167b33ca866b6b3d98918.tar.xz
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>
Diffstat (limited to 'include/linux/mtd/partitions.h')
-rw-r--r--include/linux/mtd/partitions.h15
1 files changed, 13 insertions, 2 deletions
diff --git a/include/linux/mtd/partitions.h b/include/linux/mtd/partitions.h
index 1431cf2609ed..5fdb963a5035 100644
--- a/include/linux/mtd/partitions.h
+++ b/include/linux/mtd/partitions.h
@@ -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)