diff mbox series

[v2] hwrng: bcm2835 - remove redundant null check

Message ID 1612919698-60261-1-git-send-email-tiantao6@hisilicon.com (mailing list archive)
State Accepted
Delegated to: Herbert Xu
Headers show
Series [v2] hwrng: bcm2835 - remove redundant null check | expand

Commit Message

Tian Tao Feb. 10, 2021, 1:14 a.m. UTC
clk_prepare_enable() and clk_disable_unprepare() will check
NULL clock parameter, so It is not necessary to add additional checks.

Signed-off-by: Tian Tao <tiantao6@hisilicon.com>
---
v2:
change devm_clk_get() to devm_clk_get_optional() which will deal with
-ENOENT and return NULL in that case.
---
 drivers/char/hw_random/bcm2835-rng.c | 17 +++++++----------
 1 file changed, 7 insertions(+), 10 deletions(-)

Comments

Florian Fainelli Feb. 10, 2021, 1:32 a.m. UTC | #1
On 2/9/2021 5:14 PM, Tian Tao wrote:
> clk_prepare_enable() and clk_disable_unprepare() will check
> NULL clock parameter, so It is not necessary to add additional checks.
> 
> Signed-off-by: Tian Tao <tiantao6@hisilicon.com>

Acked-by: Florian Fainelli <f.fainelli@gmail.com>

Thanks for the quick spin!
diff mbox series

Patch

diff --git a/drivers/char/hw_random/bcm2835-rng.c b/drivers/char/hw_random/bcm2835-rng.c
index 1a7c43b..be5be39 100644
--- a/drivers/char/hw_random/bcm2835-rng.c
+++ b/drivers/char/hw_random/bcm2835-rng.c
@@ -88,11 +88,9 @@  static int bcm2835_rng_init(struct hwrng *rng)
 	int ret = 0;
 	u32 val;
 
-	if (!IS_ERR(priv->clk)) {
-		ret = clk_prepare_enable(priv->clk);
-		if (ret)
-			return ret;
-	}
+	ret = clk_prepare_enable(priv->clk);
+	if (ret)
+		return ret;
 
 	if (priv->mask_interrupts) {
 		/* mask the interrupt */
@@ -115,8 +113,7 @@  static void bcm2835_rng_cleanup(struct hwrng *rng)
 	/* disable rng hardware */
 	rng_writel(priv, 0, RNG_CTRL);
 
-	if (!IS_ERR(priv->clk))
-		clk_disable_unprepare(priv->clk);
+	clk_disable_unprepare(priv->clk);
 }
 
 struct bcm2835_rng_of_data {
@@ -155,9 +152,9 @@  static int bcm2835_rng_probe(struct platform_device *pdev)
 		return PTR_ERR(priv->base);
 
 	/* Clock is optional on most platforms */
-	priv->clk = devm_clk_get(dev, NULL);
-	if (PTR_ERR(priv->clk) == -EPROBE_DEFER)
-		return -EPROBE_DEFER;
+	priv->clk = devm_clk_get_optional(dev, NULL);
+	if (IS_ERR(priv->clk))
+		return PTR_ERR(priv->clk);
 
 	priv->rng.name = pdev->name;
 	priv->rng.init = bcm2835_rng_init;