Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

hwrng: bcm2835 - remove redundant null check

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>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>

authored by

Tian Tao and committed by
Herbert Xu
e06da499 f17a25cb

+7 -10
+7 -10
drivers/char/hw_random/bcm2835-rng.c
··· 88 88 int ret = 0; 89 89 u32 val; 90 90 91 - if (!IS_ERR(priv->clk)) { 92 - ret = clk_prepare_enable(priv->clk); 93 - if (ret) 94 - return ret; 95 - } 91 + ret = clk_prepare_enable(priv->clk); 92 + if (ret) 93 + return ret; 96 94 97 95 if (priv->mask_interrupts) { 98 96 /* mask the interrupt */ ··· 113 115 /* disable rng hardware */ 114 116 rng_writel(priv, 0, RNG_CTRL); 115 117 116 - if (!IS_ERR(priv->clk)) 117 - clk_disable_unprepare(priv->clk); 118 + clk_disable_unprepare(priv->clk); 118 119 } 119 120 120 121 struct bcm2835_rng_of_data { ··· 152 155 return PTR_ERR(priv->base); 153 156 154 157 /* Clock is optional on most platforms */ 155 - priv->clk = devm_clk_get(dev, NULL); 156 - if (PTR_ERR(priv->clk) == -EPROBE_DEFER) 157 - return -EPROBE_DEFER; 158 + priv->clk = devm_clk_get_optional(dev, NULL); 159 + if (IS_ERR(priv->clk)) 160 + return PTR_ERR(priv->clk); 158 161 159 162 priv->rng.name = pdev->name; 160 163 priv->rng.init = bcm2835_rng_init;