From: Uwe =?iso-8859-1?Q?Kleine-K=F6nig?= Subject: Re: [PATCH 3/3] hwrng: mxc-fsl - add support for Freescale RNGC Date: Tue, 1 Mar 2016 08:49:37 +0100 Message-ID: <20160301074937.GU2613@pengutronix.de> References: <1456761156-27664-1-git-send-email-s.trumtrar@pengutronix.de> <1456761156-27664-3-git-send-email-s.trumtrar@pengutronix.de> <20160229213850.GS2613@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: QUOTED-PRINTABLE Cc: Steffen Trumtrar , Mark Rutland , "devicetree@vger.kernel.org" , Herbert Xu , Pawel Moll , Ian Campbell , Kumar Gala , Rob Herring , linux-crypto@vger.kernel.org, Sascha Hauer , Matt Mackall , Shawn Guo , "linux-arm-kernel@lists.infradead.org" To: Fabio Estevam Return-path: Received: from metis.ext.4.pengutronix.de ([92.198.50.35]:46749 "EHLO metis.ext.4.pengutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750933AbcCAHty (ORCPT ); Tue, 1 Mar 2016 02:49:54 -0500 Content-Disposition: inline In-Reply-To: Sender: linux-crypto-owner@vger.kernel.org List-ID: Hello Fabio, On Mon, Feb 29, 2016 at 08:54:19PM -0300, Fabio Estevam wrote: > On Mon, Feb 29, 2016 at 6:38 PM, Uwe Kleine-K=F6nig > wrote: > > On Mon, Feb 29, 2016 at 06:16:50PM -0300, Fabio Estevam wrote: > >> On Mon, Feb 29, 2016 at 12:52 PM, Steffen Trumtrar > >> wrote: > >> > >> > + ret =3D clk_prepare_enable(rngc->clk); > >> > + if (ret) > >> > + return ret; > >> > + > >> > + rngc->irq =3D platform_get_irq(pdev, 0); > >> > + if (!rngc->irq) { > >> > + dev_err(&pdev->dev, "FSL RNGC couldn't get irq\n= "); > >> > + clk_disable_unprepare(rngc->clk); > >> > + > >> > + return ret; > >> > >> You are returning the wrong error code here: > >> > >> Better do like this: > >> > >> rngc->irq =3D platform_get_irq(pdev, 0); > >> if (rngc->irq < 0) { > > > > rngc->irq is unsigned, so this is never true. > > > >> dev_err(&pdev->dev, "FSL RNGC couldn't get irq\n"); > >> clk_disable_unprepare(rngc->clk); > >> return rngc->irq; > >> } > > > > So here comes my better approach: >=20 > As irq is only used inside probe it can be removed from struct mxc_rn= gc. Good idea. > Or maybe like this: >=20 > ret =3D platform_get_irq(pdev, 0); > if (ret < 0) { > dev_err(&pdev->dev, "FSL RNGC couldn't get irq\n"); > clk_disable_unprepare(rngc->clk); > return ret; > } Some people think platform_get_irq returning 0 should be handled as error. Best regards Uwe --=20 Pengutronix e.K. | Uwe Kleine-K=F6nig = | Industrial Linux Solutions | http://www.pengutronix.de/= |