mirror of
https://source.denx.de/u-boot/u-boot.git
synced 2025-08-06 23:36:59 +02:00
mtd: mtdpart: Support MTDPART_SIZ_FULL in fixed-partitions
Flash partitions may specify MTDPART_SIZ_FULL (=0) as the size of the partition to indicate "the remainder of the flash". Make this work with device-tree "fixed-partitions" as well. This makes MTD partitioning compatible with the Linux kernel, see: https://github.com/torvalds/linux/blob/master/include/linux/mtd/partitions.h#L29 https://github.com/torvalds/linux/blob/master/drivers/mtd/mtdpart.c#L123 Previously, this could only be done through MTDPARTS so this change allows boards like topic_miami to migrate from `mtdparts`/`mtdids` to devicetree partitions. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> Reviewed-by: Michael Trimarchi <michael@amarulasolutions.com>
This commit is contained in:
parent
aa96cda0a5
commit
98a898e584
@ -909,11 +909,13 @@ int add_mtd_partitions_of(struct mtd_info *master)
|
||||
continue;
|
||||
|
||||
offset = ofnode_get_addr_size_index_notrans(child, 0, &size);
|
||||
if (offset == FDT_ADDR_T_NONE || !size) {
|
||||
debug("Missing partition offset/size on \"%s\" partition\n",
|
||||
if (offset == FDT_ADDR_T_NONE) {
|
||||
debug("Missing partition offset on \"%s\" partition\n",
|
||||
master->name);
|
||||
continue;
|
||||
}
|
||||
if (size == MTDPART_SIZ_FULL)
|
||||
size = master->size - offset;
|
||||
|
||||
part.name = ofnode_read_string(child, "label");
|
||||
if (!part.name)
|
||||
|
Loading…
Reference in New Issue
Block a user