On Sun, Nov 02, 2025 at 08:53:43PM +0100, Simon Glass wrote: > Hi Raphael, > > On Sun, 2 Nov 2025 at 02:10, Raphaël Gallais-Pou <[email protected]> > wrote: > > > > Le Sat, Nov 01, 2025 at 10:03:59AM +0100, Simon Glass a écrit : > > > 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 > > > > Hi Simon, > > > > I'll gladly do that, but I haven't write and use any test in U-Boot. So > > it is a bit foggy how to implement it. > > There is some info here: > > https://docs.u-boot.org/en/latest/develop/testing.html > > > > > Do we want to create a fake device-tree and test each configuration or > > do we want to test in the _current_ device-tree if timings are correctly > > set according to the index value ? > > It looks like there is a 'display-timings' node in test.dts, with three > subnodes, so you should just be able to get an ofnode for that and then > read out one of them and check it.
OK, but what is the utility in doing that? We don't, and aren't, going to have tests for every valid possible DT node, and this isn't introducing new library parsing functionality (the most recent patch to test/dm/ofnode.c was for ofnode_graph and that is important to test). We don't have display-timing tests to start with, so we're fine not adding something more here. -- Tom
signature.asc
Description: PGP signature

