mtd: rawnand: orion: Use devm_clk_get_optional()
authorChristophe JAILLET <christophe.jaillet@wanadoo.fr>
Sun, 7 Aug 2022 21:20:51 +0000 (23:20 +0200)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Wed, 21 Sep 2022 08:38:46 +0000 (10:38 +0200)
Use devm_clk_get_optional() instead of hand writing it.

While at it, use dev_err_probe() to further simplify the code. This is also
less verbose if clk_get() returns -EPROBE_DEFER.

Signed-off-by: Christophe JAILLET <christophe.jaillet@wanadoo.fr>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/a5bde48e3e1165dd65d1d1c1739e03ace1bef5d3.1659907229.git.christophe.jaillet@wanadoo.fr
drivers/mtd/nand/raw/orion_nand.c

index 2c87c7d..1bfecf5 100644 (file)
@@ -170,18 +170,11 @@ static int __init orion_nand_probe(struct platform_device *pdev)
 
        platform_set_drvdata(pdev, info);
 
-       /* Not all platforms can gate the clock, so it is not
-          an error if the clock does not exists. */
-       info->clk = devm_clk_get(&pdev->dev, NULL);
-       if (IS_ERR(info->clk)) {
-               ret = PTR_ERR(info->clk);
-               if (ret == -ENOENT) {
-                       info->clk = NULL;
-               } else {
-                       dev_err(&pdev->dev, "failed to get clock!\n");
-                       return ret;
-               }
-       }
+       /* Not all platforms can gate the clock, so it is optional. */
+       info->clk = devm_clk_get_optional(&pdev->dev, NULL);
+       if (IS_ERR(info->clk))
+               return dev_err_probe(&pdev->dev, PTR_ERR(info->clk),
+                                    "failed to get clock!\n");
 
        ret = clk_prepare_enable(info->clk);
        if (ret) {