5ac67ce36c
This commit slightly simplifies the code. Every parse_mtd_partitions() caller (out of two existing ones) had to add partitions & cleanup parser on its own. This moves that responsibility into the function. That change also allows dropping struct mtd_partitions argument. There is one minor behavior change caused by this cleanup. If parse_mtd_partitions() fails to add partitions (add_mtd_partitions() return an error) then mtd_device_parse_register() will still try to add (register) fallback partitions. It's a real corner case affecting one of uncommon error paths and shouldn't cause any harm. Signed-off-by: Rafał Miłecki <rafal@milecki.pl> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
29 lines
880 B
C
29 lines
880 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* These are exported solely for the purpose of mtd_blkdevs.c and mtdchar.c.
|
|
* You should not use them for _anything_ else.
|
|
*/
|
|
|
|
extern struct mutex mtd_table_mutex;
|
|
|
|
struct mtd_info *__mtd_next_device(int i);
|
|
int add_mtd_device(struct mtd_info *mtd);
|
|
int del_mtd_device(struct mtd_info *mtd);
|
|
int add_mtd_partitions(struct mtd_info *, const struct mtd_partition *, int);
|
|
int del_mtd_partitions(struct mtd_info *);
|
|
|
|
struct mtd_partitions;
|
|
|
|
int parse_mtd_partitions(struct mtd_info *master, const char * const *types,
|
|
struct mtd_part_parser_data *data);
|
|
|
|
void mtd_part_parser_cleanup(struct mtd_partitions *parts);
|
|
|
|
int __init init_mtdchar(void);
|
|
void __exit cleanup_mtdchar(void);
|
|
|
|
#define mtd_for_each_device(mtd) \
|
|
for ((mtd) = __mtd_next_device(0); \
|
|
(mtd) != NULL; \
|
|
(mtd) = __mtd_next_device(mtd->index + 1))
|