From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752626AbbINHmk (ORCPT ); Mon, 14 Sep 2015 03:42:40 -0400 Received: from mail-wi0-f180.google.com ([209.85.212.180]:38614 "EHLO mail-wi0-f180.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751311AbbINHmi (ORCPT ); Mon, 14 Sep 2015 03:42:38 -0400 Date: Mon, 14 Sep 2015 08:42:34 +0100 From: Lee Jones To: Fabio Estevam Cc: "linux-arm-kernel@lists.infradead.org" , linux-kernel , "devicetree@vger.kernel.org" , Herbert Xu , Pankaj Dev , linux-crypto@vger.kernel.org, Matt Mackall , kernel@stlinux.com Subject: Re: [PATCH 4/6] hwrng: st: Add support for ST's HW Random Number Generator Message-ID: <20150914074234.GC27591@x1> References: <1442002110-28733-1-git-send-email-lee.jones@linaro.org> <1442002110-28733-5-git-send-email-lee.jones@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: User-Agent: Mutt/1.5.21 (2010-09-15) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 12 Sep 2015, Fabio Estevam wrote: > On Fri, Sep 11, 2015 at 5:08 PM, Lee Jones wrote: > > > + res = platform_get_resource(pdev, IORESOURCE_MEM, 0); > > + base = devm_ioremap_resource(&pdev->dev, res); > > + if (IS_ERR(base)) > > + return PTR_ERR(base); > > + > > + clk = devm_clk_get(&pdev->dev, NULL); > > + if (!clk) > > + return -EINVAL; > > This should be: > > if (IS_ERR(clk)) > return PTR_ERR(clk); You're right. Will fix. > > + > > + clk_prepare_enable(clk); > > This may fail, so better check its return value and propagate it on error. Looks like the jury is out on this one. $ git grep clk_prepare_enable | grep '= clk\|if (' | wc -l 659 $ git grep clk_prepare_enable | grep -v '= clk\|if (' | wc -l 569 ... but it's not a problem to fix up. Will do. > > + ddata->ops.priv = (unsigned long)ddata; > > + ddata->ops.read = st_rng_read; > > + ddata->ops.name = pdev->name; > > + ddata->base = base; > > + ddata->clk = clk; > > + > > + dev_set_drvdata(&pdev->dev, ddata); > > + > > + ret = hwrng_register(&ddata->ops); > > + if (ret) { > > + dev_err(&pdev->dev, "Failed to register HW RNG\n"); > > + return ret; > > + } > > + > > + dev_info(&pdev->dev, "Successfully registered HW RNG\n"); > > No need to put this info. Ah, you caught me! I know these types of prints are usually deemed not useful; however, unless there is a failure both this driver and the core driver are silent, so the user doesn't know that 1 or more of these devices are available. I personally like to see an entry in the bootlog for this kind of functionality. -- Lee Jones Linaro STMicroelectronics Landing Team Lead Linaro.org │ Open source software for ARM SoCs Follow Linaro: Facebook | Twitter | Blog