On Fri, Apr 07, 2017 at 05:44:15AM +1000, Dave Airlie wrote: > On 5 April 2017 at 16:51, Laurent Pinchart > wrote: > > As the DRM LVDS panel driver uses a different approach to DT bindings > > compared to what Thierry Reding advocates, add a specific MAINTAINERS > > entry to avoid bothering Thierry with requests related to that driver. > > Could you document a bit more in the patch summary the finer points of > panel/dt doctrine, as I haven't got as much knowledge as I'd like. > > Just I believe, Thierry believes. I'm somewhat surprised how we arrived at the current situation. A very long time ago when we first discussed device tree bindings for panels, a number of attempts were made to generically describe everything in device tree. All of those attempts failed because you simply couldn't describe all of the required properties in DT in a sane way. Eventually everyone involved agreed that we would have to stick with the device-specific compatible, and in the best case we would be able to support many panels with a fairly generic driver. I think we did pretty well with the panel-simple driver. It started out very simple and then got improved over time as necessary to deal with more panels. And for cases where it wasn't suitable we simply added a custom driver. That's a completely natural way to write drivers. We do the same thing in other areas, nothing special here. Ever since the simple-panel binding was introduced, which is now about 3 1/2 years ago, people have kept asking why we couldn't simply put all data in DT and why kernel drivers had to be modified in order to add support for a new panel. I kept repeating myself a number of times until I finally wrote it all up[0], after which it was enough to point people to it. Still not everyone was convinced, but the people that were there when we made the decision all agreed that this was still the right thing to do. So, despite the many complaints I stuck to what we had agreed on because I am convinced that it is the right thing to do. Now we have arrived at a point where apparently that decision has been revoked, and I don't understand what's changed. This puts me in a very difficult position. All of a sudden it's okay to do what everyone has been asking for the last three years, and I'm the jerk who told everyone that it couldn't be done. Maybe the discussions that we had back at the time are now far enough in the past that people have forgotten about the earlier failures. I still don't see how this new panel-lvds would be any more successful in solving the problems we failed to solve with simple-panel. The issues are still fundamentally the same. Now if this was a generic driver that dealt with a different subset of panels because they are different, that would've been okay with me. What I don't understand is why this has to deviate from the simple-panel binding in fundamental ways. Now we've got two bindings and we make life miserable for people because they have to choose between the two. Thierry [0]: https://sietch-tagr.blogspot.de/2016/04/display-panels-are-not-special.html