[PATCH v2] mtd: mtdpart: Support MTDPART_SIZ_FULL in fixed-partitions
Mike Looijmans
mike.looijmans at topic.nl
Mon Apr 28 08:00:16 CEST 2025
Gentle ping, anything blocking this?
On 08-04-2025 12:31, Michael Nazzareno Trimarchi wrote:
Hi
On Tue, Apr 8, 2025 at 7:46 AM Mike Looijmans <mike.looijmans at topic.nl<mailto:mike.looijmans at topic.nl>> wrote:
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 at topic.nl<mailto:mike.looijmans at topic.nl>>
---
Changes in v2:
Amend commit text to add links to Linux code and explain the rationale
drivers/mtd/mtdpart.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/mtd/mtdpart.c b/drivers/mtd/mtdpart.c
index 88094b81e7a..5284890bd88 100644
--- a/drivers/mtd/mtdpart.c
+++ b/drivers/mtd/mtdpart.c
@@ -910,11 +910,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<http://part.name> = ofnode_read_string(child, "label");
if (!part.name<http://part.name>)
--
2.43.0
Reviewed-by: Michael Trimarchi <michael at amarulasolutions.com<mailto:michael at amarulasolutions.com>>
Met vriendelijke groet / kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Products B.V.
Materiaalweg 4, 5681 RJ Best
The Netherlands
T: +31 (0) 499 33 69 69
E: mike.looijmans at topic.nl<mailto:mike.looijmans at topic.nl>
W: www.topic.nl<http://www.topic.nl>
Please consider the environment before printing this e-mail
--
Michael Nazzareno Trimarchi
Co-Founder & Chief Executive Officer
M. +39 347 913 2170
michael at amarulasolutions.com<mailto:michael at amarulasolutions.com>
__________________________________
Amarula Solutions BV
Joop Geesinkweg 125, 1114 AB, Amsterdam, NL
T. +31 (0)85 111 9172
info at amarulasolutions.com<mailto:info at amarulasolutions.com>
www.amarulasolutions.com<http://www.amarulasolutions.com>
--
Mike Looijmans
System Expert
TOPIC Embedded Products B.V.
Materiaalweg 4, 5681 RJ Best
The Netherlands
T: +31 (0) 499 33 69 69
E: mike.looijmans at topic.nl<mailto:mike.looijmans at topic.nl>
W: www.topic.nl<http://www.topic.nl>
More information about the U-Boot
mailing list