From 21c2f3c0e2180f44c2b7177ce153ea0f1e027a73 Mon Sep 17 00:00:00 2001 From: Max Krummenacher Date: Mon, 2 Dec 2019 11:01:51 +0100 Subject: ASoC: wm8904: assume mclk as the clk_id for simple-audio-card The simple-audio-card driver sets clk_id to a constant 0. Assume that we want to derive the sysclk from the MCLK in that case rather than error out with -EINVAL. Signed-off-by: Max Krummenacher --- sound/soc/codecs/wm8904.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/sound/soc/codecs/wm8904.c b/sound/soc/codecs/wm8904.c index 4fd350e8420d..2782b8064542 100644 --- a/sound/soc/codecs/wm8904.c +++ b/sound/soc/codecs/wm8904.c @@ -1408,6 +1408,13 @@ static int wm8904_set_sysclk(struct snd_soc_dai *dai, int clk_id, struct snd_soc_codec *codec = dai->codec; struct wm8904_priv *priv = snd_soc_codec_get_drvdata(codec); + /* + * If using sound-simple-card this is called with clk_id fixed to 0. + * Assume we want WM8904_CLK_MCLK for now in that case. + */ + if (clk_id == 0) + clk_id = WM8904_CLK_MCLK; + switch (clk_id) { case WM8904_CLK_MCLK: priv->sysclk_src = clk_id; -- cgit v1.2.3