[U-Boot] [PATCH v3 04/13] fdtdec: Implement fdtdec_set_phandle()

Simon Glass sjg at chromium.org
Fri Mar 22 07:53:01 UTC 2019


Hi Thierry,

On Fri, 22 Mar 2019 at 02:10, Thierry Reding <thierry.reding at gmail.com> wrote:
>
> From: Thierry Reding <treding at nvidia.com>
>
> This function can be used to set a phandle for a given node.
>
> Signed-off-by: Thierry Reding <treding at nvidia.com>
> ---
> Changes in v2:
> - don't emit deprecated linux,phandle property
>
>  include/fdtdec.h | 11 +++++++++++
>  lib/fdtdec.c     |  7 +++++++
>  2 files changed, 18 insertions(+)
>
> diff --git a/include/fdtdec.h b/include/fdtdec.h
> index a0ba57c6318b..55600026c488 100644
> --- a/include/fdtdec.h
> +++ b/include/fdtdec.h
> @@ -981,6 +981,17 @@ int fdtdec_setup_mem_size_base(void);
>   */
>  int fdtdec_setup_memory_banksize(void);
>
> +/**
> + * fdtdec_set_phandle() - sets the phandle of a given node
> + *
> + * @param blob         FDT blob
> + * @param node         offset in the FDT blob of the node whose phandle is to
> + *                     be set
> + * @param phandle      phandle to set for the given node
> + * @return 0 on success or a negative error code on failure
> + */
> +int fdtdec_set_phandle(void *blob, int node, uint32_t phandle);
> +
>  /**
>   * Set up the device tree ready for use
>   */
> diff --git a/lib/fdtdec.c b/lib/fdtdec.c
> index 09a7e133a539..00db90e3cdfd 100644
> --- a/lib/fdtdec.c
> +++ b/lib/fdtdec.c
> @@ -1243,6 +1243,13 @@ __weak void *board_fdt_blob_setup(void)
>  }
>  #endif
>
> +int fdtdec_set_phandle(void *blob, int node, uint32_t phandle)
> +{
> +       fdt32_t value = cpu_to_fdt32(phandle);
> +
> +       return fdt_setprop(blob, node, "phandle", &value, sizeof(value));

Can we use fdt_setprop_u32() instead?

> +}
> +
>  int fdtdec_setup(void)
>  {
>  #if CONFIG_IS_ENABLED(OF_CONTROL)
> --
> 2.21.0
>

Regards,
Simon


More information about the U-Boot mailing list