Commit a3933625 authored by Nuno Sá's avatar Nuno Sá Committed by Guenter Roeck
Browse files

hwmon: (axi-fan-control) Make sure the clock is enabled



The core will only work if it's clock is enabled. This patch is a
minor enhancement to make sure that's the case.

Signed-off-by: default avatarNuno Sá <nuno.sa@analog.com>
Link: https://lore.kernel.org/r/20210811114853.159298-2-nuno.sa@analog.com


Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
parent 76b72736
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -351,6 +351,11 @@ static int axi_fan_control_init(struct axi_fan_control_data *ctl,
	return ret;
}

static void axi_fan_control_clk_disable(void *clk)
{
	clk_disable_unprepare(clk);
}

static const struct hwmon_channel_info *axi_fan_control_info[] = {
	HWMON_CHANNEL_INFO(pwm, HWMON_PWM_INPUT),
	HWMON_CHANNEL_INFO(fan, HWMON_F_INPUT | HWMON_F_FAULT | HWMON_F_LABEL),
@@ -406,6 +411,14 @@ static int axi_fan_control_probe(struct platform_device *pdev)
		return PTR_ERR(clk);
	}

	ret = clk_prepare_enable(clk);
	if (ret)
		return ret;

	ret = devm_add_action_or_reset(&pdev->dev, axi_fan_control_clk_disable, clk);
	if (ret)
		return ret;

	ctl->clk_rate = clk_get_rate(clk);
	if (!ctl->clk_rate)
		return -EINVAL;