[PATCH] mtdpart: Support MTDPART_SIZ_FULL in fixed-partitions

Mike Looijmans mike.looijmans at topic.nl
Tue Apr 8 07:41:02 CEST 2025


On 07-04-2025 21:47, Michael Nazzareno Trimarchi wrote:
Hi MIke

On Mon, Apr 7, 2025 at 3:42 PM Mike Looijmans <mike.looijmans at topic.nl<mailto:mike.looijmans at topic.nl>> wrote:
ping?

Maybe I should have added to the description that the Linux kernel
allows MTD partitions to specify a size "0" in the device-tree to mean
"the remainder". This patch makes u-boot compatible with the kernel's
MTD partitions. U-boot MTDPARTS also supported this, but it's missing in
the device-tree parser.


Please expand your commit message . Add an example where is defined this
way in linux kernel and add your example. I found out that is used a lot in omap3 platform
but please point me to some recent board if you know

I'll send a v2. Indeed the OMAP3 boards are the quickest to find examples.

Obviously, you shouldn't find any example in the u-boot tree because it didn't work...

I came across this because I wanted to migrate the topic_miami boards away from MTDPARTS but the "fixed-partitions" did not work as expected when using the same devicetree for kernel and u-boot. Otherwise topic-miami would have been the example you asked for...


Michael

M.

On 25-03-2025 16:52, Mike Looijmans 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.
>
> Signed-off-by: Mike Looijmans <mike.looijmans at topic.nl<mailto:mike.looijmans at topic.nl>>
> ---
>
>   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>)


--
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>





--
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