Loading drivers/mtd/mtdpart.c +6 −2 Original line number Diff line number Diff line Loading @@ -703,13 +703,17 @@ static struct mtd_part_parser *get_partition_parser(const char *name) #define put_partition_parser(p) do { module_put((p)->owner); } while (0) void register_mtd_parser(struct mtd_part_parser *p) int __register_mtd_parser(struct mtd_part_parser *p, struct module *owner) { p->owner = owner; spin_lock(&part_parser_lock); list_add(&p->list, &part_parsers); spin_unlock(&part_parser_lock); return 0; } EXPORT_SYMBOL_GPL(register_mtd_parser); EXPORT_SYMBOL_GPL(__register_mtd_parser); void deregister_mtd_parser(struct mtd_part_parser *p) { Loading include/linux/mtd/partitions.h +13 −1 Original line number Diff line number Diff line Loading @@ -73,9 +73,21 @@ struct mtd_part_parser { struct mtd_part_parser_data *); }; extern void register_mtd_parser(struct mtd_part_parser *parser); extern int __register_mtd_parser(struct mtd_part_parser *parser, struct module *owner); #define register_mtd_parser(parser) __register_mtd_parser(parser, THIS_MODULE) extern void deregister_mtd_parser(struct mtd_part_parser *parser); /* * module_mtd_part_parser() - Helper macro for MTD partition parsers that don't * do anything special in module init/exit. Each driver may only use this macro * once, and calling it replaces module_init() and module_exit(). */ #define module_mtd_part_parser(__mtd_part_parser) \ module_driver(__mtd_part_parser, register_mtd_parser, \ deregister_mtd_parser) int mtd_is_partition(const struct mtd_info *mtd); int mtd_add_partition(struct mtd_info *master, const char *name, long long offset, long long length); Loading Loading
drivers/mtd/mtdpart.c +6 −2 Original line number Diff line number Diff line Loading @@ -703,13 +703,17 @@ static struct mtd_part_parser *get_partition_parser(const char *name) #define put_partition_parser(p) do { module_put((p)->owner); } while (0) void register_mtd_parser(struct mtd_part_parser *p) int __register_mtd_parser(struct mtd_part_parser *p, struct module *owner) { p->owner = owner; spin_lock(&part_parser_lock); list_add(&p->list, &part_parsers); spin_unlock(&part_parser_lock); return 0; } EXPORT_SYMBOL_GPL(register_mtd_parser); EXPORT_SYMBOL_GPL(__register_mtd_parser); void deregister_mtd_parser(struct mtd_part_parser *p) { Loading
include/linux/mtd/partitions.h +13 −1 Original line number Diff line number Diff line Loading @@ -73,9 +73,21 @@ struct mtd_part_parser { struct mtd_part_parser_data *); }; extern void register_mtd_parser(struct mtd_part_parser *parser); extern int __register_mtd_parser(struct mtd_part_parser *parser, struct module *owner); #define register_mtd_parser(parser) __register_mtd_parser(parser, THIS_MODULE) extern void deregister_mtd_parser(struct mtd_part_parser *parser); /* * module_mtd_part_parser() - Helper macro for MTD partition parsers that don't * do anything special in module init/exit. Each driver may only use this macro * once, and calling it replaces module_init() and module_exit(). */ #define module_mtd_part_parser(__mtd_part_parser) \ module_driver(__mtd_part_parser, register_mtd_parser, \ deregister_mtd_parser) int mtd_is_partition(const struct mtd_info *mtd); int mtd_add_partition(struct mtd_info *master, const char *name, long long offset, long long length); Loading