From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko Stuebner Subject: Re: [PATCH v4 1/3] drm/panel: refactor INNOLUX P079ZCA panel driver Date: Thu, 14 Jun 2018 14:49:05 +0200 Message-ID: <2358142.UaIIZZriA2@phil> References: <1521018736-20980-1-git-send-email-hl@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from gloria.sntech.de (gloria.sntech.de [95.129.55.99]) by gabe.freedesktop.org (Postfix) with ESMTPS id 74F316E266 for ; Thu, 14 Jun 2018 12:49:13 +0000 (UTC) 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: dri-devel@lists.freedesktop.org Cc: Lin Huang , David Airlie , Brian Norris , Emil Velikov , linux-kernel@vger.kernel.org, Rob Herring , Thierry Reding List-Id: dri-devel@lists.freedesktop.org QW0gTWl0dHdvY2gsIDE0LiBNw6RyeiAyMDE4LCAxMzowMjoxMyBDRVNUIHNjaHJpZWIgRW1pbCBW ZWxpa292Ogo+IEhpIExpbiwKPiAKPiBPbiAxNCBNYXJjaCAyMDE4IGF0IDA5OjEyLCBMaW4gSHVh bmcgPGhsQHJvY2stY2hpcHMuY29tPiB3cm90ZToKPiA+IEZyb206IGh1YW5nIGxpbiA8aGxAcm9j ay1jaGlwcy5jb20+Cj4gPgo+ID4gUmVmYWN0b3IgSW5ub2x1eCBQMDc5WkNBIHBhbmVsIGRyaXZl ciwgbGV0IGl0IHN1cHBvcnQKPiA+IG11bHRpIHBhbmVsLgo+ID4KPiA+IENoYW5nZS1JZDogSWY4 OWJlNWU1NmRiYThjYjQ5OGUyZDUwYzFiYmViMGU4MDE2MTIzYTIKPiA+IFNpZ25lZC1vZmYtYnk6 IExpbiBIdWFuZyA8aGxAcm9jay1jaGlwcy5jb20+CgpbLi4uXQoKPiA+IEBAIC0yMDcsMTkgKzI0 OCwyOCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wYW5lbF9mdW5jcyBpbm5vbHV4X3BhbmVs X2Z1bmNzID0gewo+IAo+ID4KPiA+IC0gICAgICAgaW5ub2x1eC0+c3VwcGx5ID0gZGV2bV9yZWd1 bGF0b3JfZ2V0KGRldiwgInBvd2VyIik7Cj4gPiAtICAgICAgIGlmIChJU19FUlIoaW5ub2x1eC0+ c3VwcGx5KSkKPiA+IC0gICAgICAgICAgICAgICByZXR1cm4gUFRSX0VSUihpbm5vbHV4LT5zdXBw bHkpOwo+ID4gKyAgICAgICBpbm5vbHV4ID0gZGV2bV9remFsbG9jKGRldiwgc2l6ZW9mKCppbm5v bHV4KSwgR0ZQX0tFUk5FTCk7Cj4gPiArICAgICAgIGlmICghaW5ub2x1eCkKPiA+ICsgICAgICAg ICAgICAgICByZXR1cm4gLUVOT01FTTsKPiA+ICsKPiA+ICsgICAgICAgaW5ub2x1eC0+ZGVzYyA9 IGRlc2M7Cj4gPiArICAgICAgIGlubm9sdXgtPnZkZGkgPSBkZXZtX3JlZ3VsYXRvcl9nZXQoZGV2 LCAicG93ZXIiKTsKPiA+ICsgICAgICAgaW5ub2x1eC0+YXZkZCA9IGRldm1fcmVndWxhdG9yX2dl dChkZXYsICJhdmRkIik7Cj4gPiArICAgICAgIGlubm9sdXgtPmF2ZWUgPSBkZXZtX3JlZ3VsYXRv cl9nZXQoZGV2LCAiYXZlZSIpOwo+ID4KPiBBRkFJQ1QgZGV2bV9yZWd1bGF0b3JfZ2V0IHJldHVy bnMgYSBwb2ludGVyIHdoaWNoIGlzIHVuc3VpdGFibGUgdG8gYmUKPiBwYXNzZWQgaW50byByZWd1 bGF0b3Jfe2VuYWJsZSxkaXNhYmxlfS4KPiBIZW5jZSwgdGhlIElTX0VSUiBjaGVjayBzaG91bGQg c3RheS4gSWYgYW55IG9mIHRoZSByZWd1bGF0b3JzIGFyZQo+IG9wdGlvbmFsLCB5b3Ugd2FudCB0 byBjYWxsIHJlZ3VsYXRvcl97ZW5hYmxlLGRpc2FibGV9IG9ubHkgYXMKPiBhcHBsaWNhYmxlLgoK dXNpbmcgdGhlIHJlZ3VsYXRvcl9idWxrIEFQSXMgc2hvdWxkIGhlbHAgdG8gbWFrZSB0aGlzIGZh ciBlYXNpZXIsCmFzIHlvdSBjYW4ganVzdCBkZWZpbmUgdGhlIHBlci1wYW5lbCBzdXBwbGllcyBp biBpbiB0aGUgcGFuZWxfZGVzYwphbmQgdGhlbiBnZXQgKyBlbmFibGUgdGhlIGNvcnJlY3Qgb25l cyBwZXIgYm91bmQgcGFuZWwuCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v ZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org [172.30.200.123]) by aws-us-west-2-korg-lkml-1.web.codeaurora.org (Postfix) with ESMTP id 36CF3C433EF for ; Thu, 14 Jun 2018 12:49:18 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id EBE07208D4 for ; Thu, 14 Jun 2018 12:49:17 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org EBE07208D4 Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=sntech.de Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964830AbeFNMtQ convert rfc822-to-8bit (ORCPT ); Thu, 14 Jun 2018 08:49:16 -0400 Received: from gloria.sntech.de ([95.129.55.99]:54690 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S964777AbeFNMtP (ORCPT ); Thu, 14 Jun 2018 08:49:15 -0400 Received: from wd0940.dip.tu-dresden.de ([141.76.111.172] helo=phil.localnet) by gloria.sntech.de with esmtpsa (TLS1.1:DHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.80) (envelope-from ) id 1fTRgc-0004dn-R7; Thu, 14 Jun 2018 14:49:10 +0200 From: Heiko Stuebner To: dri-devel@lists.freedesktop.org Cc: Emil Velikov , Lin Huang , David Airlie , Brian Norris , linux-kernel@vger.kernel.org, Rob Herring , Thierry Reding Subject: Re: [PATCH v4 1/3] drm/panel: refactor INNOLUX P079ZCA panel driver Date: Thu, 14 Jun 2018 14:49:05 +0200 Message-ID: <2358142.UaIIZZriA2@phil> In-Reply-To: References: <1521018736-20980-1-git-send-email-hl@rock-chips.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="iso-8859-1" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Mittwoch, 14. März 2018, 13:02:13 CEST schrieb Emil Velikov: > Hi Lin, > > On 14 March 2018 at 09:12, Lin Huang wrote: > > From: huang lin > > > > Refactor Innolux P079ZCA panel driver, let it support > > multi panel. > > > > Change-Id: If89be5e56dba8cb498e2d50c1bbeb0e8016123a2 > > Signed-off-by: Lin Huang [...] > > @@ -207,19 +248,28 @@ static const struct drm_panel_funcs innolux_panel_funcs = { > > > > > - innolux->supply = devm_regulator_get(dev, "power"); > > - if (IS_ERR(innolux->supply)) > > - return PTR_ERR(innolux->supply); > > + innolux = devm_kzalloc(dev, sizeof(*innolux), GFP_KERNEL); > > + if (!innolux) > > + return -ENOMEM; > > + > > + innolux->desc = desc; > > + innolux->vddi = devm_regulator_get(dev, "power"); > > + innolux->avdd = devm_regulator_get(dev, "avdd"); > > + innolux->avee = devm_regulator_get(dev, "avee"); > > > AFAICT devm_regulator_get returns a pointer which is unsuitable to be > passed into regulator_{enable,disable}. > Hence, the IS_ERR check should stay. If any of the regulators are > optional, you want to call regulator_{enable,disable} only as > applicable. using the regulator_bulk APIs should help to make this far easier, as you can just define the per-panel supplies in in the panel_desc and then get + enable the correct ones per bound panel.