From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753368AbdJTRF5 (ORCPT ); Fri, 20 Oct 2017 13:05:57 -0400 Received: from mail-it0-f66.google.com ([209.85.214.66]:52242 "EHLO mail-it0-f66.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753312AbdJTRF4 (ORCPT ); Fri, 20 Oct 2017 13:05:56 -0400 X-Google-Smtp-Source: ABhQp+T+hBwVJNX3sNFt7qFZJkERV+eFePRw5TsGn91utONhBvR9c2ygWncrkf7Hmta385+Ve25OmA== Date: Fri, 20 Oct 2017 13:05:54 -0400 From: Sean Paul To: Mark yao Cc: Jeffy Chen , linux-kernel@vger.kernel.org, briannorris@chromium.org, seanpaul@chromium.org, dianders@chromium.org, heiko@sntech.de, tfiga@chromium.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, David Airlie , linux-arm-kernel@lists.infradead.org Subject: Re: [PATCH v6 02/10] drm/rockchip: analogix_dp: Remove unnecessary init code Message-ID: <20171020170554.uhhctvhx2igwdotw@art_vandelay> References: <20171019034812.13768-1-jeffy.chen@rock-chips.com> <20171019034812.13768-3-jeffy.chen@rock-chips.com> <88902b60-d096-f828-6d5d-44d44b6f4c50@rock-chips.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <88902b60-d096-f828-6d5d-44d44b6f4c50@rock-chips.com> User-Agent: NeoMutt/20170113 (1.7.2) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Fri, Oct 20, 2017 at 09:48:35AM +0800, Mark yao wrote: > On 2017年10月19日 11:48, Jeffy Chen wrote: > > Remove unnecessary init code, since we would do it in the power_on() > > callback. > > > > Also move of parse code to probe(). > > > > Fixes: 9e32e16e9e98 ("drm: rockchip: dp: add rockchip platform dp driver") > > Signed-off-by: Jeffy Chen > > Looks good for me > Acked-by: Mark Yao Pushed to -misc-next Thanks, Sean > > > --- > > > > Changes in v6: None > > Changes in v5: None > > > > drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 27 ++++++------------------- > > 1 file changed, 6 insertions(+), 21 deletions(-) > > > > diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > > index 4d3f6ad0abdd..8cae5ad926cd 100644 > > --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > > +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > > @@ -269,7 +269,7 @@ static struct drm_encoder_funcs rockchip_dp_encoder_funcs = { > > .destroy = rockchip_dp_drm_encoder_destroy, > > }; > > -static int rockchip_dp_init(struct rockchip_dp_device *dp) > > +static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) > > { > > struct device *dev = dp->dev; > > struct device_node *np = dev->of_node; > > @@ -303,19 +303,6 @@ static int rockchip_dp_init(struct rockchip_dp_device *dp) > > return PTR_ERR(dp->rst); > > } > > - ret = clk_prepare_enable(dp->pclk); > > - if (ret < 0) { > > - DRM_DEV_ERROR(dp->dev, "failed to enable pclk %d\n", ret); > > - return ret; > > - } > > - > > - ret = rockchip_dp_pre_init(dp); > > - if (ret < 0) { > > - DRM_DEV_ERROR(dp->dev, "failed to pre init %d\n", ret); > > - clk_disable_unprepare(dp->pclk); > > - return ret; > > - } > > - > > return 0; > > } > > @@ -361,10 +348,6 @@ static int rockchip_dp_bind(struct device *dev, struct device *master, > > if (!dp_data) > > return -ENODEV; > > - ret = rockchip_dp_init(dp); > > - if (ret < 0) > > - return ret; > > - > > dp->data = dp_data; > > dp->drm_dev = drm_dev; > > @@ -398,7 +381,6 @@ static void rockchip_dp_unbind(struct device *dev, struct device *master, > > rockchip_drm_psr_unregister(&dp->encoder); > > analogix_dp_unbind(dev, master, data); > > - clk_disable_unprepare(dp->pclk); > > } > > static const struct component_ops rockchip_dp_component_ops = { > > @@ -414,7 +396,7 @@ static int rockchip_dp_probe(struct platform_device *pdev) > > int ret; > > ret = drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &panel, NULL); > > - if (ret) > > + if (ret < 0) > > return ret; > > dp = devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL); > > @@ -422,9 +404,12 @@ static int rockchip_dp_probe(struct platform_device *pdev) > > return -ENOMEM; > > dp->dev = dev; > > - > > dp->plat_data.panel = panel; > > + ret = rockchip_dp_of_probe(dp); > > + if (ret < 0) > > + return ret; > > + > > /* > > * We just use the drvdata until driver run into component > > * add function, and then we would set drvdata to null, so > -- Sean Paul, Software Engineer, Google / Chromium OS From mboxrd@z Thu Jan 1 00:00:00 1970 From: seanpaul@chromium.org (Sean Paul) Date: Fri, 20 Oct 2017 13:05:54 -0400 Subject: [PATCH v6 02/10] drm/rockchip: analogix_dp: Remove unnecessary init code In-Reply-To: <88902b60-d096-f828-6d5d-44d44b6f4c50@rock-chips.com> References: <20171019034812.13768-1-jeffy.chen@rock-chips.com> <20171019034812.13768-3-jeffy.chen@rock-chips.com> <88902b60-d096-f828-6d5d-44d44b6f4c50@rock-chips.com> Message-ID: <20171020170554.uhhctvhx2igwdotw@art_vandelay> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Fri, Oct 20, 2017 at 09:48:35AM +0800, Mark yao wrote: > On 2017?10?19? 11:48, Jeffy Chen wrote: > > Remove unnecessary init code, since we would do it in the power_on() > > callback. > > > > Also move of parse code to probe(). > > > > Fixes: 9e32e16e9e98 ("drm: rockchip: dp: add rockchip platform dp driver") > > Signed-off-by: Jeffy Chen > > Looks good for me > Acked-by: Mark Yao Pushed to -misc-next Thanks, Sean > > > --- > > > > Changes in v6: None > > Changes in v5: None > > > > drivers/gpu/drm/rockchip/analogix_dp-rockchip.c | 27 ++++++------------------- > > 1 file changed, 6 insertions(+), 21 deletions(-) > > > > diff --git a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > > index 4d3f6ad0abdd..8cae5ad926cd 100644 > > --- a/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > > +++ b/drivers/gpu/drm/rockchip/analogix_dp-rockchip.c > > @@ -269,7 +269,7 @@ static struct drm_encoder_funcs rockchip_dp_encoder_funcs = { > > .destroy = rockchip_dp_drm_encoder_destroy, > > }; > > -static int rockchip_dp_init(struct rockchip_dp_device *dp) > > +static int rockchip_dp_of_probe(struct rockchip_dp_device *dp) > > { > > struct device *dev = dp->dev; > > struct device_node *np = dev->of_node; > > @@ -303,19 +303,6 @@ static int rockchip_dp_init(struct rockchip_dp_device *dp) > > return PTR_ERR(dp->rst); > > } > > - ret = clk_prepare_enable(dp->pclk); > > - if (ret < 0) { > > - DRM_DEV_ERROR(dp->dev, "failed to enable pclk %d\n", ret); > > - return ret; > > - } > > - > > - ret = rockchip_dp_pre_init(dp); > > - if (ret < 0) { > > - DRM_DEV_ERROR(dp->dev, "failed to pre init %d\n", ret); > > - clk_disable_unprepare(dp->pclk); > > - return ret; > > - } > > - > > return 0; > > } > > @@ -361,10 +348,6 @@ static int rockchip_dp_bind(struct device *dev, struct device *master, > > if (!dp_data) > > return -ENODEV; > > - ret = rockchip_dp_init(dp); > > - if (ret < 0) > > - return ret; > > - > > dp->data = dp_data; > > dp->drm_dev = drm_dev; > > @@ -398,7 +381,6 @@ static void rockchip_dp_unbind(struct device *dev, struct device *master, > > rockchip_drm_psr_unregister(&dp->encoder); > > analogix_dp_unbind(dev, master, data); > > - clk_disable_unprepare(dp->pclk); > > } > > static const struct component_ops rockchip_dp_component_ops = { > > @@ -414,7 +396,7 @@ static int rockchip_dp_probe(struct platform_device *pdev) > > int ret; > > ret = drm_of_find_panel_or_bridge(dev->of_node, 1, 0, &panel, NULL); > > - if (ret) > > + if (ret < 0) > > return ret; > > dp = devm_kzalloc(dev, sizeof(*dp), GFP_KERNEL); > > @@ -422,9 +404,12 @@ static int rockchip_dp_probe(struct platform_device *pdev) > > return -ENOMEM; > > dp->dev = dev; > > - > > dp->plat_data.panel = panel; > > + ret = rockchip_dp_of_probe(dp); > > + if (ret < 0) > > + return ret; > > + > > /* > > * We just use the drvdata until driver run into component > > * add function, and then we would set drvdata to null, so > -- Sean Paul, Software Engineer, Google / Chromium OS