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 7extern struct backing_dev_info *mtd_bdi; 8 9struct mtd_info *__mtd_next_device(int i); 10int __must_check add_mtd_device(struct mtd_info *mtd); 11int del_mtd_device(struct mtd_info *mtd); 12int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int); 13int del_mtd_partitions(struct mtd_info *); 14 15struct mtd_partitions; 16 17int parse_mtd_partitions(struct mtd_info *master, const char * const *types, 18 struct mtd_part_parser_data *data); 19 20void mtd_part_parser_cleanup(struct mtd_partitions *parts); 21 22int __init init_mtdchar(void); 23void __exit cleanup_mtdchar(void); 24extern void mtd_table_mutex_lock(void); 25extern void mtd_table_mutex_unlock(void); 26extern void mtd_table_assert_mutex_locked(void); 27 28#define mtd_for_each_device(mtd) \ 29 for ((mtd) = __mtd_next_device(0); \ 30 (mtd) != NULL; \ 31 (mtd) = __mtd_next_device(mtd->index + 1)) 32