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