Hi On Tue, Apr 8, 2025 at 7:46 AM Mike Looijmans <mike.looijm...@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.looijm...@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 = ofnode_read_string(child, "label"); > if (!part.name) > -- > 2.43.0 > > > Reviewed-by: Michael Trimarchi <mich...@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.looijm...@topic.nl > W: 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 mich...@amarulasolutions.com __________________________________ Amarula Solutions BV Joop Geesinkweg 125, 1114 AB, Amsterdam, NL T. +31 (0)85 111 9172 i...@amarulasolutions.com www.amarulasolutions.com