static int ak4642_probe(struct snd_soc_codec *codec) { struct ak4642_priv *priv = snd_soc_codec_get_drvdata(codec); if (priv->mcko) ak4642_set_mcko(codec, clk_get_rate(priv->mcko)); return 0; }
static int ak4642_probe(struct snd_soc_component *component) { struct ak4642_priv *priv = snd_soc_component_get_drvdata(component); if (priv->mcko) ak4642_set_mcko(component, clk_get_rate(priv->mcko)); return 0; }
static int ak4642_dai_hw_params(struct snd_pcm_substream *substream, struct snd_pcm_hw_params *params, struct snd_soc_dai *dai) { struct snd_soc_codec *codec = dai->codec; struct ak4642_priv *priv = snd_soc_codec_get_drvdata(codec); u32 rate = clk_get_rate(priv->mcko); if (!rate) rate = params_rate(params) * 256; return ak4642_set_mcko(codec, rate); }