]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
Bluetooth: hci_bcm: Use the devm_clk_get_optional() helper
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 8 Nov 2024 15:33:49 +0000 (17:33 +0200)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 14 Nov 2024 20:40:18 +0000 (15:40 -0500)
Use devm_clk_get_optional() instead of hand writing it.
This saves some LoC and improves the semantic.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/hci_bcm.c

index 89d4c2224546fbd485aefce56275d2a1a7ca881c..521b785f29081a7d99f6a1d81dd5bb333980a892 100644 (file)
@@ -1068,17 +1068,17 @@ static struct clk *bcm_get_txco(struct device *dev)
        struct clk *clk;
 
        /* New explicit name */
-       clk = devm_clk_get(dev, "txco");
-       if (!IS_ERR(clk) || PTR_ERR(clk) == -EPROBE_DEFER)
+       clk = devm_clk_get_optional(dev, "txco");
+       if (clk)
                return clk;
 
        /* Deprecated name */
-       clk = devm_clk_get(dev, "extclk");
-       if (!IS_ERR(clk) || PTR_ERR(clk) == -EPROBE_DEFER)
+       clk = devm_clk_get_optional(dev, "extclk");
+       if (clk)
                return clk;
 
        /* Original code used no name at all */
-       return devm_clk_get(dev, NULL);
+       return devm_clk_get_optional(dev, NULL);
 }
 
 static int bcm_get_resources(struct bcm_device *dev)
@@ -1093,21 +1093,12 @@ static int bcm_get_resources(struct bcm_device *dev)
                return 0;
 
        dev->txco_clk = bcm_get_txco(dev->dev);
-
-       /* Handle deferred probing */
-       if (dev->txco_clk == ERR_PTR(-EPROBE_DEFER))
-               return PTR_ERR(dev->txco_clk);
-
-       /* Ignore all other errors as before */
        if (IS_ERR(dev->txco_clk))
-               dev->txco_clk = NULL;
-
-       dev->lpo_clk = devm_clk_get(dev->dev, "lpo");
-       if (dev->lpo_clk == ERR_PTR(-EPROBE_DEFER))
-               return PTR_ERR(dev->lpo_clk);
+               return PTR_ERR(dev->txco_clk);
 
+       dev->lpo_clk = devm_clk_get_optional(dev->dev, "lpo");
        if (IS_ERR(dev->lpo_clk))
-               dev->lpo_clk = NULL;
+               return PTR_ERR(dev->lpo_clk);
 
        /* Check if we accidentally fetched the lpo clock twice */
        if (dev->lpo_clk && clk_is_match(dev->lpo_clk, dev->txco_clk)) {