]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
Bluetooth: hci_qca: use devm_clk_get_optional_enabled_with_rate()
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Mon, 30 Sep 2024 08:09:38 +0000 (10:09 +0200)
committerLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
Thu, 14 Nov 2024 20:31:50 +0000 (15:31 -0500)
Use the new devm_clk_get_optional_enabled_with_rate() clock helper to
shrink the code a bit.

Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Luiz Augusto von Dentz <luiz.von.dentz@intel.com>
drivers/bluetooth/hci_qca.c

index aae6f512d312e653bceb813dc631a4022c1e0984..37129e6cb0eb136e2e356b9f4a03e1da700e00c1 100644 (file)
@@ -2294,13 +2294,6 @@ static int qca_init_regulators(struct qca_power *qca,
        return 0;
 }
 
-static void qca_clk_disable_unprepare(void *data)
-{
-       struct clk *clk = data;
-
-       clk_disable_unprepare(clk);
-}
-
 static int qca_serdev_probe(struct serdev_device *serdev)
 {
        struct qca_serdev *qcadev;
@@ -2433,25 +2426,12 @@ static int qca_serdev_probe(struct serdev_device *serdev)
                if (!qcadev->bt_en)
                        power_ctrl_enabled = false;
 
-               qcadev->susclk = devm_clk_get_optional(&serdev->dev, NULL);
+               qcadev->susclk = devm_clk_get_optional_enabled_with_rate(
+                                       &serdev->dev, NULL, SUSCLK_RATE_32KHZ);
                if (IS_ERR(qcadev->susclk)) {
                        dev_warn(&serdev->dev, "failed to acquire clk\n");
                        return PTR_ERR(qcadev->susclk);
                }
-               err = clk_set_rate(qcadev->susclk, SUSCLK_RATE_32KHZ);
-               if (err)
-                       return err;
-
-               err = clk_prepare_enable(qcadev->susclk);
-               if (err)
-                       return err;
-
-               err = devm_add_action_or_reset(&serdev->dev,
-                                              qca_clk_disable_unprepare,
-                                              qcadev->susclk);
-               if (err)
-                       return err;
-
        }
        
        err = hci_uart_register_device(&qcadev->serdev_hu, &qca_proto);