22 Feb
2023
22 Feb
'23
2:31 p.m.
On Wed, Feb 22, 2023 at 10:06:23AM +0200, Svyatoslav Ryhel wrote:
+static int fm34ne_dsp_set_hw(struct fm34ne_dsp_data *fm34) +{
struct device *dev = &fm34->client->dev;
int ret;
ret = clk_prepare_enable(fm34->dap_mclk);
if (ret) {
dev_err(dev, "failed to enable the DSP MCLK: %d\n", ret);
return ret;
}
ret = regulator_enable(fm34->vdd_supply);
if (ret < 0) {
dev_err(dev, "failed to enable vdd power supply\n");
clk_disable_unprepare(fm34->dap_mclk);
No, dap_mclk has to be on, else there will be no sound on the device.
If regulator_enable(fm34->vdd_supply); fails then the probe() is going to fail so the sound isn't going to work anyway. (I have a static checker warning for missing calls to clk_disable_unprepare(), so it's important for me to find out if we are deliberately not cleaning up).
return ret;
}
return 0;
+}
regards, dan carpenter