xref: /kernel/linux/linux-5.10/drivers/mtd/mtdcore.h (revision 8c2ecf20)
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