From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933220AbcGEQXJ (ORCPT ); Tue, 5 Jul 2016 12:23:09 -0400 Received: from anholt.net ([50.246.234.109]:45670 "EHLO anholt.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751544AbcGEQXG (ORCPT ); Tue, 5 Jul 2016 12:23:06 -0400 From: Eric Anholt To: Peter Chen , airlied@linux.ie Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, Peter Chen Subject: Re: [PATCH 7/7] gpu: drm: vc4_hdmi: add missing of_node_put after calling of_parse_phandle In-Reply-To: <1467684294-20111-8-git-send-email-peter.chen@nxp.com> References: <1467684294-20111-1-git-send-email-peter.chen@nxp.com> <1467684294-20111-8-git-send-email-peter.chen@nxp.com> User-Agent: Notmuch/0.21 (http://notmuchmail.org) Emacs/24.5.1 (x86_64-pc-linux-gnu) Date: Tue, 05 Jul 2016 09:23:02 -0700 Message-ID: <87eg78oxzt.fsf@eliezer.anholt.net> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Peter Chen writes: > of_node_put needs to be called when the device node which is got > from of_parse_phandle has finished using. > > Cc: Eric Anholt > Signed-off-by: Peter Chen > --- > drivers/gpu/drm/vc4/vc4_hdmi.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdm= i.c > index fd2644d..26b6b06 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -465,12 +465,6 @@ static int vc4_hdmi_bind(struct device *dev, struct = device *master, void *data) > if (IS_ERR(hdmi->hd_regs)) > return PTR_ERR(hdmi->hd_regs); >=20=20 > - ddc_node =3D of_parse_phandle(dev->of_node, "ddc", 0); > - if (!ddc_node) { > - DRM_ERROR("Failed to find ddc node in device tree\n"); > - return -ENODEV; > - } > - > hdmi->pixel_clock =3D devm_clk_get(dev, "pixel"); > if (IS_ERR(hdmi->pixel_clock)) { > DRM_ERROR("Failed to get pixel clock\n"); > @@ -482,7 +476,14 @@ static int vc4_hdmi_bind(struct device *dev, struct = device *master, void *data) > return PTR_ERR(hdmi->hsm_clock); > } >=20=20 > + ddc_node =3D of_parse_phandle(dev->of_node, "ddc", 0); > + if (!ddc_node) { > + DRM_ERROR("Failed to find ddc node in device tree\n"); > + return -ENODEV; > + } > + > hdmi->ddc =3D of_find_i2c_adapter_by_node(ddc_node); > + of_node_put(ddc_node); > if (!hdmi->ddc) { > DRM_DEBUG("Failed to get ddc i2c adapter by node\n"); > return -EPROBE_DEFER; > --=20 Reviewed-by: Eric Anholt It would be nice if we could just pass the phandle spec directly to the i2c function. OF code always seems terribly verbose to me (and error-prone in this exact way) because of the separate phandle lookup. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCgAGBQJXe97mAAoJELXWKTbR/J7ohMIP/2qpveyURXAX3ZZWIpRrK21e oLpuY5MK1R3ODAMwQwrBGOJyHiySJvUkwT29Y4au7T5IR+3gRI9/22LuAjJI0sPk P9af/+1rp23k2E+eKrov0N9UEF38dvRFzIjfavA+qB2yBbns0V0ioUicUgDLYx4D h8szVc3e4KBRN8AHI9eidXRL/LCFff1I61hzPaleMxZQpfV1ldi8CN5RDsLgFsS6 2p0+rtWxwVv9/sU7HT6XxsyBkeaSutW4qb/eV76hDwyOZ/RkrWScBnIj2U0UGxUC dJMHzeQHN8w2YoIVosmNj+fUgxwYVsCPM/rK9C9Rh61aqbwcB2KfLo4AsUphNhAJ KBv+6Mwf4F3SmyaisEIkH3dZw4iXhW46iqcggUOsUfy8rLApuUnbVuQIhaUmESVY 14lo7cklhnkjHYvS+ozlOrL1eIA4U5wj4xD+EMgKLwOkfKOXaJD9u2Q6YtinsGxa W/xja+ZtMd840fMCZKfOtkKJ7YMbC6SHF02trGUomADj4R8jRu73X2sUnuKp7yOo p366JUPkG+L36IgqrX/XyZ3wkYMTZ08m65bhAB2TV0ICAwx1gz6V2B4nEONMgukD tczh+qiJEfarWUv81mQ0g9U0kDuhvafPRMCoQNmgN8dDV+eZ6shY6twmdG8xx5sp B+RibYCew9jr2Zre2wtY =Qu/E -----END PGP SIGNATURE----- --=-=-=-- From mboxrd@z Thu Jan 1 00:00:00 1970 From: Eric Anholt Subject: Re: [PATCH 7/7] gpu: drm: vc4_hdmi: add missing of_node_put after calling of_parse_phandle Date: Tue, 05 Jul 2016 09:23:02 -0700 Message-ID: <87eg78oxzt.fsf@eliezer.anholt.net> References: <1467684294-20111-1-git-send-email-peter.chen@nxp.com> <1467684294-20111-8-git-send-email-peter.chen@nxp.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1430795118==" Return-path: Received: from anholt.net (anholt.net [50.246.234.109]) by gabe.freedesktop.org (Postfix) with ESMTP id 71D436E430 for ; Tue, 5 Jul 2016 16:23:06 +0000 (UTC) In-Reply-To: <1467684294-20111-8-git-send-email-peter.chen@nxp.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: airlied@linux.ie Cc: Peter Chen , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org --===============1430795118== Content-Type: multipart/signed; boundary="=-=-="; micalg=pgp-sha512; protocol="application/pgp-signature" --=-=-= Content-Type: text/plain Content-Transfer-Encoding: quoted-printable Peter Chen writes: > of_node_put needs to be called when the device node which is got > from of_parse_phandle has finished using. > > Cc: Eric Anholt > Signed-off-by: Peter Chen > --- > drivers/gpu/drm/vc4/vc4_hdmi.c | 13 +++++++------ > 1 file changed, 7 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/vc4/vc4_hdmi.c b/drivers/gpu/drm/vc4/vc4_hdm= i.c > index fd2644d..26b6b06 100644 > --- a/drivers/gpu/drm/vc4/vc4_hdmi.c > +++ b/drivers/gpu/drm/vc4/vc4_hdmi.c > @@ -465,12 +465,6 @@ static int vc4_hdmi_bind(struct device *dev, struct = device *master, void *data) > if (IS_ERR(hdmi->hd_regs)) > return PTR_ERR(hdmi->hd_regs); >=20=20 > - ddc_node =3D of_parse_phandle(dev->of_node, "ddc", 0); > - if (!ddc_node) { > - DRM_ERROR("Failed to find ddc node in device tree\n"); > - return -ENODEV; > - } > - > hdmi->pixel_clock =3D devm_clk_get(dev, "pixel"); > if (IS_ERR(hdmi->pixel_clock)) { > DRM_ERROR("Failed to get pixel clock\n"); > @@ -482,7 +476,14 @@ static int vc4_hdmi_bind(struct device *dev, struct = device *master, void *data) > return PTR_ERR(hdmi->hsm_clock); > } >=20=20 > + ddc_node =3D of_parse_phandle(dev->of_node, "ddc", 0); > + if (!ddc_node) { > + DRM_ERROR("Failed to find ddc node in device tree\n"); > + return -ENODEV; > + } > + > hdmi->ddc =3D of_find_i2c_adapter_by_node(ddc_node); > + of_node_put(ddc_node); > if (!hdmi->ddc) { > DRM_DEBUG("Failed to get ddc i2c adapter by node\n"); > return -EPROBE_DEFER; > --=20 Reviewed-by: Eric Anholt It would be nice if we could just pass the phandle spec directly to the i2c function. OF code always seems terribly verbose to me (and error-prone in this exact way) because of the separate phandle lookup. --=-=-= Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iQIcBAEBCgAGBQJXe97mAAoJELXWKTbR/J7ohMIP/2qpveyURXAX3ZZWIpRrK21e oLpuY5MK1R3ODAMwQwrBGOJyHiySJvUkwT29Y4au7T5IR+3gRI9/22LuAjJI0sPk P9af/+1rp23k2E+eKrov0N9UEF38dvRFzIjfavA+qB2yBbns0V0ioUicUgDLYx4D h8szVc3e4KBRN8AHI9eidXRL/LCFff1I61hzPaleMxZQpfV1ldi8CN5RDsLgFsS6 2p0+rtWxwVv9/sU7HT6XxsyBkeaSutW4qb/eV76hDwyOZ/RkrWScBnIj2U0UGxUC dJMHzeQHN8w2YoIVosmNj+fUgxwYVsCPM/rK9C9Rh61aqbwcB2KfLo4AsUphNhAJ KBv+6Mwf4F3SmyaisEIkH3dZw4iXhW46iqcggUOsUfy8rLApuUnbVuQIhaUmESVY 14lo7cklhnkjHYvS+ozlOrL1eIA4U5wj4xD+EMgKLwOkfKOXaJD9u2Q6YtinsGxa W/xja+ZtMd840fMCZKfOtkKJ7YMbC6SHF02trGUomADj4R8jRu73X2sUnuKp7yOo p366JUPkG+L36IgqrX/XyZ3wkYMTZ08m65bhAB2TV0ICAwx1gz6V2B4nEONMgukD tczh+qiJEfarWUv81mQ0g9U0kDuhvafPRMCoQNmgN8dDV+eZ6shY6twmdG8xx5sp B+RibYCew9jr2Zre2wtY =Qu/E -----END PGP SIGNATURE----- --=-=-=-- --===============1430795118== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== --===============1430795118==--