Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S964890AbdGTJau (ORCPT ); Thu, 20 Jul 2017 05:30:50 -0400 Received: from mail-qk0-f179.google.com ([209.85.220.179]:37061 "EHLO mail-qk0-f179.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753048AbdGTJaq (ORCPT ); Thu, 20 Jul 2017 05:30:46 -0400 MIME-Version: 1.0 In-Reply-To: <1500373219-20233-6-git-send-email-philippe.cornu@st.com> References: <1500373219-20233-1-git-send-email-philippe.cornu@st.com> <1500373219-20233-6-git-send-email-philippe.cornu@st.com> From: Benjamin Gaignard Date: Thu, 20 Jul 2017 11:30:45 +0200 Message-ID: Subject: Re: [PATCH v1 5/7] drm/stm: ltdc: add devm_reset_control & platform_get_ressource To: Philippe CORNU Cc: Yannick Fertre , Vincent Abriou , David Airlie , "dri-devel@lists.freedesktop.org" , Linux Kernel Mailing List , Fabien Dessenne , Mickael Reulier , Gabriel Fernandez , Ludovic Barre , Alexandre Torgue , Maxime Coquelin Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by nfs id v6K9UuBu007805 Content-Length: 2092 Lines: 68 2017-07-18 12:20 GMT+02:00 Philippe CORNU : > Use devm_reset_control_get to avoid resource leakage. > Also use platform_get_resource, which is more usual and > consistent with platform_get_irq called later. > > Signed-off-by: Fabien Dessenne > Signed-off-by: Philippe CORNU Note that could be conflicting with Philippe Zabel work on reset Reviewed-by: Benjamin Gaignard > --- > drivers/gpu/drm/stm/ltdc.c | 9 +++++---- > 1 file changed, 5 insertions(+), 4 deletions(-) > > diff --git a/drivers/gpu/drm/stm/ltdc.c b/drivers/gpu/drm/stm/ltdc.c > index 92e58ba..f4ed21a 100644 > --- a/drivers/gpu/drm/stm/ltdc.c > +++ b/drivers/gpu/drm/stm/ltdc.c > @@ -874,7 +874,7 @@ int ltdc_load(struct drm_device *ddev) > struct drm_panel *panel; > struct drm_crtc *crtc; > struct reset_control *rstc; > - struct resource res; > + struct resource *res; > int irq, ret, i; > > DRM_DEBUG_DRIVER("\n"); > @@ -883,7 +883,7 @@ int ltdc_load(struct drm_device *ddev) > if (ret) > return ret; > > - rstc = of_reset_control_get(np, NULL); > + rstc = devm_reset_control_get(dev, NULL); > > mutex_init(&ldev->err_lock); > > @@ -898,13 +898,14 @@ int ltdc_load(struct drm_device *ddev) > return -ENODEV; > } > > - if (of_address_to_resource(np, 0, &res)) { > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > + if (!res) { > DRM_ERROR("Unable to get resource\n"); > ret = -ENODEV; > goto err; > } > > - ldev->regs = devm_ioremap_resource(dev, &res); > + ldev->regs = devm_ioremap_resource(dev, res); > if (IS_ERR(ldev->regs)) { > DRM_ERROR("Unable to get ltdc registers\n"); > ret = PTR_ERR(ldev->regs); > -- > 1.9.1 > -- Benjamin Gaignard Graphic Study Group Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog