ASoC: simple-card: Initialize headphone and mic GPIO numbers
authorGeert Uytterhoeven <geert+renesas@glider.be>
Tue, 7 Oct 2014 13:09:26 +0000 (15:09 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 7 Oct 2014 17:24:01 +0000 (18:24 +0100)
The uninitialized default of 0 for gpio_hp_det and gpio_mic_det doesn't
play well with asm-generic's gpio_is_valid():

static inline bool gpio_is_valid(int number)
{
return number >= 0 && number < ARCH_NR_GPIOS;
}

Hence on r8a7740/armadillo-legacy:

sh-mobile-hdmi sh-mobile-hdmi: SH Mobile HDMI Audio Codec
sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Headphones
sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Mic Jack

After that the kernel log is spammed ca. 7 times per second with:

sh-mobile-hdmi sh-mobile-hdmi: ASoC: DAPM unknown pin Headphones

Initialize the GPIO numbers with a negative number (-ENOENT) to fix this.

Fixes: 3fe240326cc395c6 ("ASoC: simple-card: Add mic and hp detect gpios.")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/generic/simple-card.c

index fcb431f..d1b7293 100644 (file)
@@ -501,6 +501,9 @@ static int asoc_simple_card_probe(struct platform_device *pdev)
        priv->snd_card.dai_link = dai_link;
        priv->snd_card.num_links = num_links;
 
+       priv->gpio_hp_det = -ENOENT;
+       priv->gpio_mic_det = -ENOENT;
+
        /* Get room for the other properties */
        priv->dai_props = devm_kzalloc(dev,
                        sizeof(*priv->dai_props) * num_links,