Hi Raphael,

On Thu, 4 Sept 2025 at 14:53, Raphael Gallais-Pou
<[email protected]> wrote:
>
> The "Display Timings" in panel-common.yaml can be provided by 2 properties
> - panel-timing: when display panels are restricted to a single resolution
>                 the "panel-timing" node expresses the required timings.
> - display-timings: several resolutions with different timings are supported
>                    with several timing subnode of "display-timings" node
>
> This patch update the parsing function to handle this 2 possibility
> when index = 0.
>
> Reviewed-by: Patrice Chotard <[email protected]>
> Reviewed-by: Yannick Fertre <[email protected]>
> Signed-off-by: Raphael Gallais-Pou <[email protected]>
> ---
>  drivers/core/ofnode.c | 17 ++++++++++-------
>  1 file changed, 10 insertions(+), 7 deletions(-)
>
> diff --git a/drivers/core/ofnode.c b/drivers/core/ofnode.c
> index 
> e040e3f2806ffe74c58dcd82f36307351acd5a99..5a721b46e5a3214e7bd437739776362c2d22a3c9
>  100644
> --- a/drivers/core/ofnode.c
> +++ b/drivers/core/ofnode.c
> @@ -1221,13 +1221,16 @@ int ofnode_decode_display_timing(ofnode parent, int 
> index,
>         int ret = 0;
>
>         timings = ofnode_find_subnode(parent, "display-timings");
> -       if (!ofnode_valid(timings))
> -               return -EINVAL;
> -
> -       i = 0;
> -       ofnode_for_each_subnode(node, timings) {
> -               if (i++ == index)
> -                       break;
> +       if (ofnode_valid(timings)) {
> +               i = 0;
> +               ofnode_for_each_subnode(node, timings) {
> +                       if (i++ == index)
> +                               break;
> +               }
> +       } else {
> +               if (index != 0)
> +                       return -EINVAL;
> +               node = ofnode_find_subnode(parent, "panel-timing");
>         }
>
>         if (!ofnode_valid(node))
>
> --
> 2.25.1
>

Please add a test for this in test/dm/ofnode.c

Regards,
Simon

Reply via email to