[PATCH 1/1] board: fix compatible property Milk-V Mars CM

E Shattow lucent at gmail.com
Sat Jul 20 02:06:49 CEST 2024


On Fri, Jul 19, 2024 at 4:12 PM Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> For the Milk-V Mars CM (lite) we have only been copying sizeof(void *)
> bytes to the compatible property instead of the whole string list.

This const char array must be so that we may get an accurate data
length with sizeof() but it highlights there are helper functions for
get of fdt stringlist and not for set of fdt stringlist.

>
> Fixes: de3229599d4f ("board: add support for Milk-V Mars CM")
> Reported-by: E Shattow <lucent at gmail.com>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
>  board/starfive/visionfive2/spl.c | 15 ++++++++++++---
>  1 file changed, 12 insertions(+), 3 deletions(-)
>
> diff --git a/board/starfive/visionfive2/spl.c b/board/starfive/visionfive2/spl.c
> index b794b73b6bd..f55c6b5d34c 100644
> --- a/board/starfive/visionfive2/spl.c
> +++ b/board/starfive/visionfive2/spl.c
> @@ -170,23 +170,32 @@ void spl_fdt_fixup_mars_cm(void *fdt)
>  {
>         const char *compat;
>         const char *model;
> +       int compat_size;
>
>         spl_fdt_fixup_mars(fdt);
>
>         if (!get_mmc_size_from_eeprom()) {
>                 int offset;
> +               static const char
> +               compat_cm_lite[] = "milkv,mars-cm-lite\0starfive,jh7110";
>
>                 model = "Milk-V Mars CM Lite";
> -               compat = "milkv,mars-cm-lite\0starfive,jh7110";
> +               compat = compat_cm_lite;
> +               compat_size = sizeof(compat_cm_lite);
>
>                 offset = fdt_path_offset(fdt, "/soc/pinctrl/mmc0-pins/mmc0-pins-rest");
>                 /* GPIOMUX(22, GPOUT_SYS_SDIO0_RST, GPOEN_ENABLE, GPI_NONE) */
>                 fdt_setprop_u32(fdt, offset, "pinmux", 0xff130016);
>         } else {
> +               static const char
> +               compat_cm[] = "milkv,mars-cm\0starfive,jh7110";
> +
>                 model = "Milk-V Mars CM";
> -               compat = "milkv,mars-cm\0starfive,jh7110";
> +               compat = compat_cm;
> +               compat_size = sizeof(compat_cm);
>         }
> -       fdt_setprop(fdt, fdt_path_offset(fdt, "/"), "compatible", compat, sizeof(compat));
> +       fdt_setprop(fdt, fdt_path_offset(fdt, "/"),
> +                   "compatible", compat, compat_size);
>         fdt_setprop_string(fdt, fdt_path_offset(fdt, "/"), "model", model);
>  }
>
> --
> 2.45.2
>

-E


More information about the U-Boot mailing list