Commit c6256ec2 authored by Bartosz Golaszewski's avatar Bartosz Golaszewski Committed by Luiz Augusto von Dentz
Browse files

Bluetooth: hci_qca: use devm_clk_get_optional_enabled_with_rate()



Use the new devm_clk_get_optional_enabled_with_rate() clock helper to
shrink the code a bit.

Signed-off-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: default avatarLuiz Augusto von Dentz <luiz.von.dentz@intel.com>
parent d88a8bb8
Loading
Loading
Loading
Loading
+2 −22
Original line number Diff line number Diff line
@@ -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);