From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752438AbdLADHL (ORCPT ); Thu, 30 Nov 2017 22:07:11 -0500 Received: from lucky1.263xmail.com ([211.157.147.131]:54580 "EHLO lucky1.263xmail.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751842AbdLADHJ (ORCPT ); Thu, 30 Nov 2017 22:07:09 -0500 X-263anti-spam: KSV:0; X-MAIL-GRAY: 1 X-MAIL-DELIVERY: 0 X-KSVirus-check: 0 X-ABS-CHECKED: 4 X-RL-SENDER: hl@rock-chips.com X-FST-TO: dbasehore@chromium.org X-SENDER-IP: 103.29.142.67 X-LOGIN-NAME: hl@rock-chips.com X-UNIQUE-TAG: <0c5714575815fa91dfcb6361e5494d03> X-ATTACHMENT-NUM: 0 X-DNS-TYPE: 0 Subject: Re: [RESENT PATCH] drm/panel: support Innolux P097PFG panel To: Brian Norris Cc: thierry.reding@gmail.com, zyw@rock-chips.com, seanpaul@chromium.org, nickey.yang@rock-chips.com, airlied@linux.ie, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Derek Basehore References: <1512022480-7015-1-git-send-email-hl@rock-chips.com> <20171201025457.GA142685@google.com> From: hl Message-ID: <4af15693-7ccd-6cd8-cd91-6285c0e354e6@rock-chips.com> Date: Fri, 1 Dec 2017 11:06:51 +0800 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.4.0 MIME-Version: 1.0 In-Reply-To: <20171201025457.GA142685@google.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi On Friday, December 01, 2017 10:54 AM, Brian Norris wrote: > One more comment: > > On Thu, Nov 30, 2017 at 02:14:40PM +0800, Lin Huang wrote: >> Support Innolux P097PFG 9.7" 1536x2048 TFT LCD panel, >> it refactor Innolux P079ZCA panel driver, let it support >> multi panel, and add support P097PFG panel in this driver. >> >> Signed-off-by: Lin Huang >> >> --- >> drivers/gpu/drm/panel/panel-innolux-p079zca.c | 178 ++++++++++++++++++++------ >> 1 file changed, 136 insertions(+), 42 deletions(-) >> >> diff --git a/drivers/gpu/drm/panel/panel-innolux-p079zca.c b/drivers/gpu/drm/panel/panel-innolux-p079zca.c >> index 6ba9344..a40798f 100644 >> --- a/drivers/gpu/drm/panel/panel-innolux-p079zca.c >> +++ b/drivers/gpu/drm/panel/panel-innolux-p079zca.c > ... > >> @@ -209,20 +284,39 @@ static const struct drm_panel_funcs innolux_panel_funcs = { >> }; >> >> static const struct of_device_id innolux_of_match[] = { >> - { .compatible = "innolux,p079zca", }, >> - { } >> + { .compatible = "innolux,p079zca", >> + .data = &innolux_p079zca_panel_desc >> + }, >> + { .compatible = "innolux,p097pfg", >> + .data = &innolux_p097pfg_panel_desc >> + } >> }; >> MODULE_DEVICE_TABLE(of, innolux_of_match); >> >> -static int innolux_panel_add(struct innolux_panel *innolux) >> +static int innolux_panel_add(struct mipi_dsi_device *dsi, >> + const struct panel_desc_dsi *desc) >> { >> - struct device *dev = &innolux->link->dev; >> + struct innolux_panel *innolux; >> + struct device *dev = &dsi->dev; >> struct device_node *np; >> int err; >> >> - 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->dsi_desc = desc; >> + innolux->vddi = devm_regulator_get_optional(dev, "power"); >> + if (IS_ERR(innolux->vddi)) >> + return PTR_ERR(innolux->vddi); >> + >> + innolux->avdd = devm_regulator_get(dev, "ppvarp"); > This name ("ppvarp" and the "ppvarn" below) are names from our board > schematics, not from the panel datasheet. I would think these should be > "vdd" and "vee", like your variable names. Okay, will fix it next version. > > Brian > >> + if (IS_ERR(innolux->avdd)) >> + return PTR_ERR(innolux->avdd); >> + >> + innolux->avee = devm_regulator_get(dev, "ppvarn"); >> + if (IS_ERR(innolux->avee)) >> + return PTR_ERR(innolux->avee); >> >> innolux->enable_gpio = devm_gpiod_get_optional(dev, "enable", >> GPIOD_OUT_HIGH); > ... > > >