From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Laurent Pinchart To: Frank Rowand Cc: Rob Herring , Laurent Pinchart , dri-devel , "open list:MEDIA DRIVERS FOR RENESAS - FCP" , Sergei Shtylyov , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" Subject: Re: [PATCH v2 03/12] drm: rcar-du: Fix legacy DT to create LVDS encoder nodes Date: Mon, 15 Jan 2018 21:22:08 +0200 Message-ID: <1891263.xKRehmHzfM@avalon> In-Reply-To: References: <20180112231430.26943-1-laurent.pinchart+renesas@ideasonboard.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: devicetree-owner@vger.kernel.org List-ID: Hi Frank, On Monday, 15 January 2018 21:12:44 EET Frank Rowand wrote: > On 01/15/18 09:09, Rob Herring wrote: > > +Frank > > > > On Fri, Jan 12, 2018 at 5:14 PM, Laurent Pinchart wrote: > >> The internal LVDS encoders now have their own DT bindings. Before > >> switching the driver infrastructure to those new bindings, implement > >> backward-compatibility through live DT patching. > > > > Uhh, we just got rid of TI's patching and now adding this one. I guess > > Please no. What we just got rid of was making it difficult for me to > make changes to the overlay infrastructure. There are issues with > overlays that need to be fixed before overlays become really usable. > I am about to propose the next change, which involves removing a > chunk of code that I will not be able to remove if this patch is > accepted (the proposal is awaiting me collecting some data about > the impact of the change, which I expect to complete this week). > > Can you please handle both the old and new bindings through driver > code instead? I could, but it would be pointless. The point here is to allow cleanups in the driver. The LVDS encoder handling code is very intrusive in its current form and I need to get rid of it. There would be zero point in moving to the new infrastructure, as the main point is to get rid of the old code which prevents moving forward. As a consequence that would block new boards from receiving proper upstream support. An easy option is to break backward compatibility. I'm personally fine with that, but I assume other people would complain :-) I can, on the other hand, work with you to see how live DT patching could be implemented in this driver without blocking your code. When developing this patch series I start by patching the device tree manually without relying on overlays at all, but got blocked by the fact that I need to allocate phandles for new nodes I create. If there was an API to allocate an unused phandle I could avoid using the overlay infrastructure at all. Or there could be other options I'm not thinking of as I don't know what the changes you're working on are. Can we work on this together to find a solution that would suit us both ? > > it's necessary, but I'd like to know how long we need to keep this? > > > > How many overlays would you need if everything is static (i.e. > > removing all your fixup code)? > > > >> Patching is disabled and will be enabled along with support for the new > >> DT bindings in the DU driver. > >> > >> Signed-off-by: Laurent Pinchart > >> > >> --- > >> Changes since v1: > >> > >> - Select OF_FLATTREE > >> - Compile LVDS DT bindings patch code when DRM_RCAR_LVDS is selected > >> - Update the SPDX headers to use GPL-2.0 instead of GPL-2.0-only > >> - Turn __dtb_rcar_du_of_lvds_(begin|end) from u8 to char > >> - Pass void begin and end pointers to rcar_du_of_get_overlay() > >> - Use of_get_parent() instead of accessing the parent pointer directly > >> - Find the LVDS endpoints nodes based on the LVDS node instead of the > >> root of the overlay > >> - Update to the -lvds compatible string format > >> --- > >> > >> drivers/gpu/drm/rcar-du/Kconfig | 2 + > >> drivers/gpu/drm/rcar-du/Makefile | 3 +- > >> drivers/gpu/drm/rcar-du/rcar_du_of.c | 451 ++++++++++++++++++++++ > >> drivers/gpu/drm/rcar-du/rcar_du_of.h | 16 + > >> drivers/gpu/drm/rcar-du/rcar_du_of_lvds.dts | 82 +++++ > >> 5 files changed, 553 insertions(+), 1 deletion(-) > >> create mode 100644 drivers/gpu/drm/rcar-du/rcar_du_of.c > >> create mode 100644 drivers/gpu/drm/rcar-du/rcar_du_of.h > >> create mode 100644 drivers/gpu/drm/rcar-du/rcar_du_of_lvds.dts [snip] -- Regards, Laurent Pinchart From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v2 03/12] drm: rcar-du: Fix legacy DT to create LVDS encoder nodes Date: Mon, 15 Jan 2018 21:22:08 +0200 Message-ID: <1891263.xKRehmHzfM@avalon> References: <20180112231430.26943-1-laurent.pinchart+renesas@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Frank Rowand Cc: Laurent Pinchart , Sergei Shtylyov , "open list:OPEN FIRMWARE AND FLATTENED DEVICE TREE BINDINGS" , dri-devel , "open list:MEDIA DRIVERS FOR RENESAS - FCP" List-Id: devicetree@vger.kernel.org SGkgRnJhbmssCgpPbiBNb25kYXksIDE1IEphbnVhcnkgMjAxOCAyMToxMjo0NCBFRVQgRnJhbmsg Um93YW5kIHdyb3RlOgo+IE9uIDAxLzE1LzE4IDA5OjA5LCBSb2IgSGVycmluZyB3cm90ZToKPiA+ ICtGcmFuawo+ID4gCj4gPiBPbiBGcmksIEphbiAxMiwgMjAxOCBhdCA1OjE0IFBNLCBMYXVyZW50 IFBpbmNoYXJ0IHdyb3RlOgo+ID4+IFRoZSBpbnRlcm5hbCBMVkRTIGVuY29kZXJzIG5vdyBoYXZl IHRoZWlyIG93biBEVCBiaW5kaW5ncy4gQmVmb3JlCj4gPj4gc3dpdGNoaW5nIHRoZSBkcml2ZXIg aW5mcmFzdHJ1Y3R1cmUgdG8gdGhvc2UgbmV3IGJpbmRpbmdzLCBpbXBsZW1lbnQKPiA+PiBiYWNr d2FyZC1jb21wYXRpYmlsaXR5IHRocm91Z2ggbGl2ZSBEVCBwYXRjaGluZy4KPiA+IAo+ID4gVWho LCB3ZSBqdXN0IGdvdCByaWQgb2YgVEkncyBwYXRjaGluZyBhbmQgbm93IGFkZGluZyB0aGlzIG9u ZS4gSSBndWVzcwo+IAo+IFBsZWFzZSBuby4gIFdoYXQgd2UganVzdCBnb3QgcmlkIG9mIHdhcyBt YWtpbmcgaXQgZGlmZmljdWx0IGZvciBtZSB0bwo+IG1ha2UgY2hhbmdlcyB0byB0aGUgb3Zlcmxh eSBpbmZyYXN0cnVjdHVyZS4gIFRoZXJlIGFyZSBpc3N1ZXMgd2l0aAo+IG92ZXJsYXlzIHRoYXQg bmVlZCB0byBiZSBmaXhlZCBiZWZvcmUgb3ZlcmxheXMgYmVjb21lIHJlYWxseSB1c2FibGUuCj4g SSBhbSBhYm91dCB0byBwcm9wb3NlIHRoZSBuZXh0IGNoYW5nZSwgd2hpY2ggaW52b2x2ZXMgcmVt b3ZpbmcgYQo+IGNodW5rIG9mIGNvZGUgdGhhdCBJIHdpbGwgbm90IGJlIGFibGUgdG8gcmVtb3Zl IGlmIHRoaXMgcGF0Y2ggaXMKPiBhY2NlcHRlZCAodGhlIHByb3Bvc2FsIGlzIGF3YWl0aW5nIG1l IGNvbGxlY3Rpbmcgc29tZSBkYXRhIGFib3V0Cj4gdGhlIGltcGFjdCBvZiB0aGUgY2hhbmdlLCB3 aGljaCBJIGV4cGVjdCB0byBjb21wbGV0ZSB0aGlzIHdlZWspLgo+IAo+IENhbiB5b3UgcGxlYXNl IGhhbmRsZSBib3RoIHRoZSBvbGQgYW5kIG5ldyBiaW5kaW5ncyB0aHJvdWdoIGRyaXZlcgo+IGNv ZGUgaW5zdGVhZD8KCkkgY291bGQsIGJ1dCBpdCB3b3VsZCBiZSBwb2ludGxlc3MuIFRoZSBwb2lu dCBoZXJlIGlzIHRvIGFsbG93IGNsZWFudXBzIGluIHRoZSAKZHJpdmVyLiBUaGUgTFZEUyBlbmNv ZGVyIGhhbmRsaW5nIGNvZGUgaXMgdmVyeSBpbnRydXNpdmUgaW4gaXRzIGN1cnJlbnQgZm9ybSAK YW5kIEkgbmVlZCB0byBnZXQgcmlkIG9mIGl0LiBUaGVyZSB3b3VsZCBiZSB6ZXJvIHBvaW50IGlu IG1vdmluZyB0byB0aGUgbmV3IAppbmZyYXN0cnVjdHVyZSwgYXMgdGhlIG1haW4gcG9pbnQgaXMg dG8gZ2V0IHJpZCBvZiB0aGUgb2xkIGNvZGUgd2hpY2ggcHJldmVudHMgCm1vdmluZyBmb3J3YXJk LiBBcyBhIGNvbnNlcXVlbmNlIHRoYXQgd291bGQgYmxvY2sgbmV3IGJvYXJkcyBmcm9tIHJlY2Vp dmluZyAKcHJvcGVyIHVwc3RyZWFtIHN1cHBvcnQuIEFuIGVhc3kgb3B0aW9uIGlzIHRvIGJyZWFr IGJhY2t3YXJkIGNvbXBhdGliaWxpdHkuIApJJ20gcGVyc29uYWxseSBmaW5lIHdpdGggdGhhdCwg YnV0IEkgYXNzdW1lIG90aGVyIHBlb3BsZSB3b3VsZCBjb21wbGFpbiA6LSkKCkkgY2FuLCBvbiB0 aGUgb3RoZXIgaGFuZCwgd29yayB3aXRoIHlvdSB0byBzZWUgaG93IGxpdmUgRFQgcGF0Y2hpbmcg Y291bGQgYmUgCmltcGxlbWVudGVkIGluIHRoaXMgZHJpdmVyIHdpdGhvdXQgYmxvY2tpbmcgeW91 ciBjb2RlLiBXaGVuIGRldmVsb3BpbmcgdGhpcyAKcGF0Y2ggc2VyaWVzIEkgc3RhcnQgYnkgcGF0 Y2hpbmcgdGhlIGRldmljZSB0cmVlIG1hbnVhbGx5IHdpdGhvdXQgcmVseWluZyBvbiAKb3Zlcmxh eXMgYXQgYWxsLCBidXQgZ290IGJsb2NrZWQgYnkgdGhlIGZhY3QgdGhhdCBJIG5lZWQgdG8gYWxs b2NhdGUgcGhhbmRsZXMgCmZvciBuZXcgbm9kZXMgSSBjcmVhdGUuIElmIHRoZXJlIHdhcyBhbiBB UEkgdG8gYWxsb2NhdGUgYW4gdW51c2VkIHBoYW5kbGUgSSAKY291bGQgYXZvaWQgdXNpbmcgdGhl IG92ZXJsYXkgaW5mcmFzdHJ1Y3R1cmUgYXQgYWxsLiBPciB0aGVyZSBjb3VsZCBiZSBvdGhlciAK b3B0aW9ucyBJJ20gbm90IHRoaW5raW5nIG9mIGFzIEkgZG9uJ3Qga25vdyB3aGF0IHRoZSBjaGFu Z2VzIHlvdSdyZSB3b3JraW5nIG9uIAphcmUuIENhbiB3ZSB3b3JrIG9uIHRoaXMgdG9nZXRoZXIg dG8gZmluZCBhIHNvbHV0aW9uIHRoYXQgd291bGQgc3VpdCB1cyBib3RoID8KCj4gPiBpdCdzIG5l Y2Vzc2FyeSwgYnV0IEknZCBsaWtlIHRvIGtub3cgaG93IGxvbmcgd2UgbmVlZCB0byBrZWVwIHRo aXM/Cj4gPiAKPiA+IEhvdyBtYW55IG92ZXJsYXlzIHdvdWxkIHlvdSBuZWVkIGlmIGV2ZXJ5dGhp bmcgaXMgc3RhdGljIChpLmUuCj4gPiByZW1vdmluZyBhbGwgeW91ciBmaXh1cCBjb2RlKT8KPiA+ IAo+ID4+IFBhdGNoaW5nIGlzIGRpc2FibGVkIGFuZCB3aWxsIGJlIGVuYWJsZWQgYWxvbmcgd2l0 aCBzdXBwb3J0IGZvciB0aGUgbmV3Cj4gPj4gRFQgYmluZGluZ3MgaW4gdGhlIERVIGRyaXZlci4K PiA+PiAKPiA+PiBTaWduZWQtb2ZmLWJ5OiBMYXVyZW50IFBpbmNoYXJ0Cj4gPj4gPGxhdXJlbnQu cGluY2hhcnQrcmVuZXNhc0BpZGVhc29uYm9hcmQuY29tPgo+ID4+IC0tLQo+ID4+IENoYW5nZXMg c2luY2UgdjE6Cj4gPj4gCj4gPj4gLSBTZWxlY3QgT0ZfRkxBVFRSRUUKPiA+PiAtIENvbXBpbGUg TFZEUyBEVCBiaW5kaW5ncyBwYXRjaCBjb2RlIHdoZW4gRFJNX1JDQVJfTFZEUyBpcyBzZWxlY3Rl ZAo+ID4+IC0gVXBkYXRlIHRoZSBTUERYIGhlYWRlcnMgdG8gdXNlIEdQTC0yLjAgaW5zdGVhZCBv ZiBHUEwtMi4wLW9ubHkKPiA+PiAtIFR1cm4gX19kdGJfcmNhcl9kdV9vZl9sdmRzXyhiZWdpbnxl bmQpIGZyb20gdTggdG8gY2hhcgo+ID4+IC0gUGFzcyB2b2lkIGJlZ2luIGFuZCBlbmQgcG9pbnRl cnMgdG8gcmNhcl9kdV9vZl9nZXRfb3ZlcmxheSgpCj4gPj4gLSBVc2Ugb2ZfZ2V0X3BhcmVudCgp IGluc3RlYWQgb2YgYWNjZXNzaW5nIHRoZSBwYXJlbnQgcG9pbnRlciBkaXJlY3RseQo+ID4+IC0g RmluZCB0aGUgTFZEUyBlbmRwb2ludHMgbm9kZXMgYmFzZWQgb24gdGhlIExWRFMgbm9kZSBpbnN0 ZWFkIG9mIHRoZQo+ID4+ICAgcm9vdCBvZiB0aGUgb3ZlcmxheQo+ID4+IC0gVXBkYXRlIHRvIHRo ZSA8c29jPi1sdmRzIGNvbXBhdGlibGUgc3RyaW5nIGZvcm1hdAo+ID4+IC0tLQo+ID4+IAo+ID4+ ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9LY29uZmlnICAgICAgICAgICAgIHwgICAyICsKPiA+ PiAgZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvTWFrZWZpbGUgICAgICAgICAgICB8ICAgMyArLQo+ ID4+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X29mLmMgICAgICAgIHwgNDUxICsr KysrKysrKysrKysrKysrKysrKysKPiA+PiAgZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9k dV9vZi5oICAgICAgICB8ICAxNiArCj4gPj4gIGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJf ZHVfb2ZfbHZkcy5kdHMgfCAgODIgKysrKysKPiA+PiAgNSBmaWxlcyBjaGFuZ2VkLCA1NTMgaW5z ZXJ0aW9ucygrKSwgMSBkZWxldGlvbigtKQo+ID4+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9vZi5jCj4gPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBk cml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X29mLmgKPiA+PiAgY3JlYXRlIG1vZGUgMTAw NjQ0IGRyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfb2ZfbHZkcy5kdHMKCltzbmlwXQoK LS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9kcmktZGV2ZWwK