kernel: rewrite run_parsers_by_type() to use add_mtd_partitions()
Make run_parsers_by_type() more similar to the parse_mtd_partitions():
1. Use struct mtd_partitions
2. Use add_mtd_partitions()
This change simplifies run_parsers_by_type() by:
1. Dropping loop
2. Dropping code getting partition properties (name, offset, size)
Moreover this change allows passing more partitions details (e.g.
mask_flags).
One noticeable change introduced by this patch is adding parsed
partitions as children. This results in printing their *relative*
offsets which unifies this code with parse_mtd_partitions() behaviour.
Before:
[ 1.785448] 0x00000018f800-0x000000fb0000 : "rootfs"
[ 1.791642] mtd: device 4 (rootfs) set to be root filesystem
[ 1.797537] 1 squashfs-split partitions found on MTD device rootfs
[ 1.804009] 0x0000004e0000-0x000000fb0000 : "rootfs_data"
After:
[ 1.785376] 0x00000018f800-0x000000fb0000 : "rootfs"
[ 1.791601] mtd: device 4 (rootfs) set to be root filesystem
[ 1.797491] 1 squashfs-split partitions found on MTD device rootfs
[ 1.803936] Creating 1 MTD partitions on "rootfs":
[ 1.808910] 0x000000350800-0x000000e20800 : "rootfs_data"
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>