mtd: partitions: support a cleanup callback for parsers
authorBrian Norris <computersforpeace@gmail.com>
Wed, 9 Dec 2015 18:24:03 +0000 (10:24 -0800)
committerBrian Norris <computersforpeace@gmail.com>
Wed, 9 Dec 2015 22:57:44 +0000 (14:57 -0800)
commitadc83bf8896353603213754353dd66dae69e3d7f
tree30c186e19aa8a5f92117cce23c43dc840e19c699
parent07fd2f871c5e3dfb8ff5eb9c4b44fdb4cf1aeff5
mtd: partitions: support a cleanup callback for parsers

If partition parsers need to clean up their resources, we shouldn't
assume that all memory will fit in a single kmalloc() that the caller
can kfree(). We should allow the parser to provide a proper cleanup
routine.

Note that this means we need to keep a hold on the parser's module for a
bit longer, and release it later with mtd_part_parser_put().

Alongside this, define a default callback that we'll automatically use
if the parser doesn't provide one, so we can still retain the old
behavior.

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
drivers/mtd/mtdcore.c
drivers/mtd/mtdcore.h
drivers/mtd/mtdpart.c
include/linux/mtd/partitions.h