Merge tag 'powerpc-5.0-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc...
[sfrench/cifs-2.6.git] / drivers / mtd / mtdcore.h
1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * These are exported solely for the purpose of mtd_blkdevs.c and mtdchar.c.
4  * You should not use them for _anything_ else.
5  */
6
7 extern struct mutex mtd_table_mutex;
8
9 struct mtd_info *__mtd_next_device(int i);
10 int __must_check add_mtd_device(struct mtd_info *mtd);
11 int del_mtd_device(struct mtd_info *mtd);
12 int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
13 int del_mtd_partitions(struct mtd_info *);
14
15 struct mtd_partitions;
16
17 int parse_mtd_partitions(struct mtd_info *master, const char * const *types,
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))