On Tue, Sep 23, 2014 at 02:12:52PM +0300, Laurent Pinchart wrote: > On Tuesday 23 September 2014 11:53:15 Thierry Reding wrote: > > On Tue, Sep 23, 2014 at 12:30:20PM +0300, Tomi Valkeinen wrote: > > > On 23/09/14 09:21, Thierry Reding wrote: > > > >> Well, I can write almost any kind of bindings, and then evidently my > > > >> device would work. For me, on my board. > > > > > > > > Well, that's the whole problem with DT. For many devices we only have a > > > > single setup to test against. And even when we have several they often > > > > are derived from each other. But the alternative would be to defer > > > > (possibly indefinitely) merging support for a device until a second, > > > > wildly different setup shows up. That's completely unreasonable and we > > > > need to start somewhere. > > > > > > Yes, but in this case we know of existing boards that have complex > > > setups. It's not theoretical. > > > > Complex setups involving /this particular/ bridge and binding are > > theoretical at this point, however. > > > > > > phandles should simply point to the next element in the pipeline and the > > > > OS abstractions should be good enough to handle the details about how to > > > > chain the elements. > > > > > > I, on the other hand, would rather see the links the other way around. > > > Panel having a link to the video source, etc. > > > > Why? It seems much more natural to describe this using the natural flow > > of data. The device furthest away from the CPU should be the target of > > the phandle. That way the DT can be used to trace the flow of data down > > the pipeline. > > > > > The video graphs have two-way links, which of course is the safest > > > options, but also more verbose and redundant. > > > > Right. If we take that line of thinking to the extreme we end up listing > > individual registers in DT so that we can safely assume that we can > > control all possible aspects of the device. > > And the other extreme would be to have a single DT node for the logical video > device with all information pertaining to it stored in C code. Extremes are > never good, we need to find a reasonable middle-ground here. I believe OF > graph fulfills that requirement, it might be slightly more verbose than a > single phandle, but it's also much more versatile. Oh well, yet another one of these things where we'll never reach an agreement I guess. Thierry