Procházet zdrojové kódy

crypto: inside-secure - improve clock initialization

The clock is optional, but if it is present we should managed it. If
there is an error while trying getting it, we should exit and report this
error.

So instead of returning an error only in the -EPROBE case, turn it in an
other way and ignore the clock only if it is not present (-ENOENT case).

Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Gregory CLEMENT před 7 roky
rodič
revize
5b37689653
1 změnil soubory, kde provedl 6 přidání a 5 odebrání
  1. 6 5
      drivers/crypto/inside-secure/safexcel.c

+ 6 - 5
drivers/crypto/inside-secure/safexcel.c

@@ -882,16 +882,17 @@ static int safexcel_probe(struct platform_device *pdev)
 	}
 	}
 
 
 	priv->clk = devm_clk_get(&pdev->dev, NULL);
 	priv->clk = devm_clk_get(&pdev->dev, NULL);
-	if (!IS_ERR(priv->clk)) {
+	ret = PTR_ERR_OR_ZERO(priv->clk);
+	/* The clock isn't mandatory */
+	if  (ret != -ENOENT) {
+		if (ret)
+			return ret;
+
 		ret = clk_prepare_enable(priv->clk);
 		ret = clk_prepare_enable(priv->clk);
 		if (ret) {
 		if (ret) {
 			dev_err(dev, "unable to enable clk (%d)\n", ret);
 			dev_err(dev, "unable to enable clk (%d)\n", ret);
 			return ret;
 			return ret;
 		}
 		}
-	} else {
-		/* The clock isn't mandatory */
-		if (PTR_ERR(priv->clk) == -EPROBE_DEFER)
-			return -EPROBE_DEFER;
 	}
 	}
 
 
 	ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));
 	ret = dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64));