Hi Claudiu, On Thu, Mar 02, 2023 at 12:45:50PM +0000, Claudiu.Beznea@xxxxxxxxxxxxx wrote: > On 02.03.2023 14:20, Mark Brown wrote: > >> + max9867->mclk = devm_clk_get(&i2c->dev, "mclk"); > >> + if (IS_ERR(max9867->mclk)) > >> + return PTR_ERR(max9867->mclk); > >> + ret = clk_prepare_enable(max9867->mclk); > >> + if (ret < 0) > >> + dev_err(&i2c->dev, "Failed to enable MCLK: %d\n", ret); > >> + > > Nothing ever disables the clock - we need a disable in the remove path > > at least. > > I don't have the full context of this patch but this diff seems a good > candidate for devm_clk_get_enabled(). Thanks for that pointer, but currently we are thinking of prepare_enable the clock in SND_SOC_BIAS_ON and disable_unprepare it in SND_SOC_BIAS_OFF (similar to wm8731.c). Therefore probe() will only do a devm_clk_get(). Claudiu, Rob: Will this be an acceptable solution? regards;rl