From: PrasannaKumar Muralidharan Subject: Re: [PATCH 4/9] hwrng: omap - Use the managed device resource API for registration Date: Tue, 6 Sep 2016 22:01:39 +0530 Message-ID: References: <20160906153857.5503-1-romain.perier@free-electrons.com> <20160906153857.5503-5-romain.perier@free-electrons.com> Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Cc: dsaxena@plexity.net, mpm@selenic.com, Herbert Xu , Gregory Clement , Thomas Petazzoni , Nadav Haklai , Omri Itach , Shadi Ammouri , Yahuda Yitschak , Hanna Hawa , Neta Zur Hershkovits , Igal Liberman , Marcin Wojtas , linux-crypto@vger.kernel.org To: Romain Perier Return-path: Received: from mail-yw0-f193.google.com ([209.85.161.193]:33589 "EHLO mail-yw0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753676AbcIFQbk (ORCPT ); Tue, 6 Sep 2016 12:31:40 -0400 Received: by mail-yw0-f193.google.com with SMTP id g192so4980410ywh.0 for ; Tue, 06 Sep 2016 09:31:40 -0700 (PDT) In-Reply-To: <20160906153857.5503-5-romain.perier@free-electrons.com> Sender: linux-crypto-owner@vger.kernel.org List-ID: > Use devm_hwrng_register instead of hwrng_register. It avoids the need > to handle unregistration explicitly from the remove function. > > Signed-off-by: Romain Perier > --- > drivers/char/hw_random/omap-rng.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/drivers/char/hw_random/omap-rng.c b/drivers/char/hw_random/omap-rng.c > index d47b24d..171c3e8 100644 > --- a/drivers/char/hw_random/omap-rng.c > +++ b/drivers/char/hw_random/omap-rng.c > @@ -381,7 +381,7 @@ static int omap_rng_probe(struct platform_device *pdev) > if (ret) > goto err_ioremap; > > - ret = hwrng_register(&omap_rng_ops); > + ret = devm_hwrng_register(dev, &omap_rng_ops); > if (ret) > goto err_register; > > @@ -402,8 +402,6 @@ static int omap_rng_remove(struct platform_device *pdev) > { > struct omap_rng_dev *priv = platform_get_drvdata(pdev); > > - hwrng_unregister(&omap_rng_ops); > - > priv->pdata->cleanup(priv); > > pm_runtime_put_sync(&pdev->dev); > -- If devm_hwrng_register is used hwrng_unregister will be called after pm_runtime_disable is called. If RNG device is in use calling omap_rng_remove may not work properly.