From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753583AbcHXF7J (ORCPT ); Wed, 24 Aug 2016 01:59:09 -0400 Received: from mailout2.w1.samsung.com ([210.118.77.12]:25612 "EHLO mailout2.w1.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750999AbcHXF7H (ORCPT ); Wed, 24 Aug 2016 01:59:07 -0400 X-AuditID: cbfec7f5-f792a6d000001302-a5-57bd37a24a02 Subject: Re: [PATCH v2 4/4] gpu: drm: exynos_hdmi: Use consolidated function on binding PHY DT property To: Milo Kim , Kukjin Kim , Krzysztof Kozlowski , David Airlie References: <1472005524-3489-1-git-send-email-woogyom.kim@gmail.com> <1472005524-3489-5-git-send-email-woogyom.kim@gmail.com> Cc: devicetree@vger.kernel.org, linux-samsung-soc@vger.kernel.org, Seung-Woo Kim , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Kyungmin Park , Rob Herring , linux-arm-kernel@lists.infradead.org From: Andrzej Hajda Message-id: Date: Wed, 24 Aug 2016 07:58:51 +0200 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101 Thunderbird/45.2.0 MIME-version: 1.0 In-reply-to: <1472005524-3489-5-git-send-email-woogyom.kim@gmail.com> Content-type: text/plain; charset=utf-8 Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFvrLLMWRmVeSWpSXmKPExsVy+t/xK7qLzfeGG6y8z2jRe+4kk8X8I+dY La58fc9m8fqFoUX/49fMFmeb3rBbbHp8jdXi8q45bBYzzu9jsmjde4TdYsbkl2wWtydPZ3Pg 8dg56y67x6ZVnWwe2789YPW4332cyWPzknqPvi2rGD0+b5ILYI/isklJzcksSy3St0vgyvhw tZu54J1wxfkJq9gaGDcKdDFyckgImEg8f9rGBmGLSVy4tx7I5uIQEljKKLF3018WCOc5o8Ss m3/AqoQFMiVaJt5nBkmICExllLjde4EVJCEkUC+x/OFesA5mgYVMEn0bG1hAEmwCmhJ/N98E 6+YVsJPYs3UfmM0ioCrx99ELsBpRgQiJW6s+MkLUCEr8mHwPLM4p4CrR+aiLvYuRA2iousSU KbkgYWYBeYnNa94yT2AUmIWkYxZC1SwkVQsYmVcxiqaWJhcUJ6XnGukVJ+YWl+al6yXn525i hETK1x2MS49ZHWIU4GBU4uHtCNkTLsSaWFZcmXuIUYKDWUmEd6fK3nAh3pTEyqrUovz4otKc 1OJDjNIcLErivDN3vQ8REkhPLEnNTk0tSC2CyTJxcEo1MJbflV8/eQ4HM/vGsPYt+y5EC9nE v7x+OH9SxYMHwowH6k4xLfuziWHKu2OcqZ0Ve7Q03katMdl/JM5J7dGuONGdX46+zYrpzFn0 mbk7iXPPemvFORX+kf9Tn92/7L3BRn3l3R8/fRId6iMX/gtknm/8yuBCpoahwW/tF4umGgpv ssuKe7H0iI4SS3FGoqEWc1FxIgBZvZ4ukAIAAA== Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 08/24/2016 04:25 AM, Milo Kim wrote: > Handle legacy and raw 'phy' parsing in single function. > And it also removes goto condition. > > Cc: Kukjin Kim > Cc: Krzysztof Kozlowski > Cc: David Airlie > Cc: Inki Dae > Cc: Joonyoung Shim > Cc: Seung-Woo Kim > Cc: Kyungmin Park > Cc: Rob Herring > Cc: devicetree@vger.kernel.org > Cc: linux-arm-kernel@lists.infradead.org > Cc: linux-samsung-soc@vger.kernel.org > Cc: linux-kernel@vger.kernel.org > Cc: dri-devel@lists.freedesktop.org > Signed-off-by: Milo Kim > --- > drivers/gpu/drm/exynos/exynos_hdmi.c | 23 ++++++++++++++--------- > 1 file changed, 14 insertions(+), 9 deletions(-) > > diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c > index 6a636f2..bb2d6d4 100644 > --- a/drivers/gpu/drm/exynos/exynos_hdmi.c > +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c > @@ -1778,11 +1778,22 @@ static struct device_node *hdmi_ddc_dt_binding(struct device *dev) > return np; > } > > -static struct device_node *hdmi_legacy_phy_dt_binding(struct device *dev) > +static struct device_node *hdmi_phy_dt_binding(struct device *dev) > { > const char *compatible_str = "samsung,exynos4212-hdmiphy"; > + struct device_node *np; > + > + np = of_find_compatible_node(NULL, NULL, compatible_str); > + if (np) > + return np; > + > + np = of_parse_phandle(dev->of_node, "phy", 0); > + if (!np) > + return NULL; > + > + of_node_put(dev->of_node); Identical issue as in previous patch. Regards Andrzej > > - return of_find_compatible_node(NULL, NULL, compatible_str); > + return np; > } > > static int hdmi_probe(struct platform_device *pdev) > @@ -1829,19 +1840,13 @@ static int hdmi_probe(struct platform_device *pdev) > return -EPROBE_DEFER; > } > > - phy_node = hdmi_legacy_phy_dt_binding(dev); > - if (phy_node) > - goto out_get_phy_port; > - > - phy_node = of_parse_phandle(dev->of_node, "phy", 0); > + phy_node = hdmi_phy_dt_binding(dev); > if (!phy_node) { > DRM_ERROR("Failed to find hdmiphy node in device tree\n"); > ret = -ENODEV; > goto err_ddc; > } > - of_node_put(dev->of_node); > > -out_get_phy_port: > if (hdata->drv_data->is_apb_phy) { > hdata->regs_hdmiphy = of_iomap(phy_node, 0); > if (!hdata->regs_hdmiphy) {