[patch 7/9] ASoC: Ensure codec check hw_write error at probe

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Add checks to see if wmXXXX_reset() failed and notify
the user of the problem. This is generally due to a
problem on the i2c bus such as an un-powered or 
non-connected codec.

Signed-off-by: Ben Dooks <ben@xxxxxxxxxxxx>

Index: linux-2.6.29-rc6-quilt1/sound/soc/codecs/wm8731.c
===================================================================
--- linux-2.6.29-rc6-quilt1.orig/sound/soc/codecs/wm8731.c	2009-02-25 11:14:15.000000000 +0000
+++ linux-2.6.29-rc6-quilt1/sound/soc/codecs/wm8731.c	2009-02-25 11:14:37.000000000 +0000
@@ -521,7 +521,11 @@ static int wm8731_init(struct snd_soc_de
 	if (codec->reg_cache == NULL)
 		return -ENOMEM;
 
-	wm8731_reset(codec);
+	ret = wm8731_reset(codec);
+	if (ret < 0) {
+		printk(KERN_ERR "wm8731: failed to send reset\n");
+		return -EIO;
+	}
 
 	/* register pcms */
 	ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1);
Index: linux-2.6.29-rc6-quilt1/sound/soc/codecs/wm8753.c
===================================================================
--- linux-2.6.29-rc6-quilt1.orig/sound/soc/codecs/wm8753.c	2009-02-25 11:14:15.000000000 +0000
+++ linux-2.6.29-rc6-quilt1/sound/soc/codecs/wm8753.c	2009-02-25 11:14:37.000000000 +0000
@@ -1573,7 +1573,11 @@ static int wm8753_init(struct snd_soc_de
 
 	wm8753_set_dai_mode(codec, 0);
 
-	wm8753_reset(codec);
+	ret = wm8753_reset(codec);
+	if (ret < 0) {
+		printk(KERN_ERR "wm8753: failed reset, not present?\n");
+		return -EIO;
+	}
 
 	/* register pcms */
 	ret = snd_soc_new_pcms(socdev, SNDRV_DEFAULT_IDX1, SNDRV_DEFAULT_STR1);

-- 
Ben (ben@xxxxxxxxx, http://www.fluff.org/)

  'a smiley only costs 4 bytes'
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux