xref: /linux/drivers/mtd/mtdcore.h (revision e5c86679d5e864947a52fb31e45a425dea3e7fa9)
1 /*
2  * These are exported solely for the purpose of mtd_blkdevs.c and mtdchar.c.
3  * You should not use them for _anything_ else.
4  */
5 
6 extern struct mutex mtd_table_mutex;
7 
8 struct mtd_info *__mtd_next_device(int i);
9 int add_mtd_device(struct mtd_info *mtd);
10 int del_mtd_device(struct mtd_info *mtd);
11 int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
12 int del_mtd_partitions(struct mtd_info *);
13 
14 struct mtd_partitions;
15 
16 int parse_mtd_partitions(struct mtd_info *master, const char * const *types,
17 			 struct mtd_partitions *pparts,
18 			 struct mtd_part_parser_data *data);
19 
20 void mtd_part_parser_cleanup(struct mtd_partitions *parts);
21 
22 int __init init_mtdchar(void);
23 void __exit cleanup_mtdchar(void);
24 
25 #define mtd_for_each_device(mtd)			\
26 	for ((mtd) = __mtd_next_device(0);		\
27 	     (mtd) != NULL;				\
28 	     (mtd) = __mtd_next_device(mtd->index + 1))
29