Hi Geert, Geert Uytterhoeven, Fri, Mar 20, 2020 09:43:29 +0100: > CC linux-clk for the clock provider. > > On Thu, Mar 19, 2020 at 6:42 PM Alex Riesen <alexander.riesen@xxxxxxxxxxx> wrote: > > This adds an implemention of SoC DAI driver which provides access to the > > I2S port of the device. I just noticed I don't do clk_prepare_enable anywhere. Shouldn't the clock master enable its clocks somewhere? > > diff --git a/drivers/media/i2c/adv748x/adv748x-dai.c b/drivers/media/i2c/adv748x/adv748x-dai.c > > new file mode 100644 > > index 000000000000..4775a0c7ed7f > > --- /dev/null > > +++ b/drivers/media/i2c/adv748x/adv748x-dai.c ... > > +static int adv748x_dai_startup(struct snd_pcm_substream *sub, struct snd_soc_dai *dai) > > +{ > > + struct adv748x_state *state = state_of(dai); > > + > > + if (sub->stream != SNDRV_PCM_STREAM_CAPTURE) > > + return -EINVAL; > > + return set_audio_pads_state(state, 1); > > +} For example, here, after activation of the lines succeeded? > > +static void adv748x_dai_shutdown(struct snd_pcm_substream *sub, struct snd_soc_dai *dai) > > +{ > > + struct adv748x_state *state = state_of(dai); > > + > > + set_audio_pads_state(state, 0); > > +} And clk_disable_unprepare here, before shutting down the pads? Regards, Alex