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