[alsa-devel] [PATCH 1/2] ASoC: adau1701: Initialize codec->control_data before using it

Axel Lin axel.lin at gmail.com
Wed Sep 28 07:47:41 CEST 2011


Currently codec->control_data is not initialized before calling
process_sigma_firmware(codec->control_data, ADAU1701_FIRMWARE).

Signed-off-by: Axel Lin <axel.lin at gmail.com>
---
 sound/soc/codecs/adau1701.c |    4 ++++
 1 files changed, 4 insertions(+), 0 deletions(-)

diff --git a/sound/soc/codecs/adau1701.c b/sound/soc/codecs/adau1701.c
index 2758d5f..1354902 100644
--- a/sound/soc/codecs/adau1701.c
+++ b/sound/soc/codecs/adau1701.c
@@ -88,6 +88,7 @@
 
 struct adau1701 {
 	unsigned int dai_fmt;
+	void *control_data;
 };
 
 static const struct snd_kcontrol_new adau1701_controls[] = {
@@ -455,9 +456,11 @@ static struct snd_soc_dai_driver adau1701_dai = {
 
 static int adau1701_probe(struct snd_soc_codec *codec)
 {
+	struct adau1701 *adau1701 = snd_soc_codec_get_drvdata(codec);
 	int ret;
 
 	codec->dapm.idle_bias_off = 1;
+	codec->control_data = adau1701->control_data;
 
 	ret = adau1701_load_firmware(codec);
 	if (ret)
@@ -500,6 +503,7 @@ static __devinit int adau1701_i2c_probe(struct i2c_client *client,
 		return -ENOMEM;
 
 	i2c_set_clientdata(client, adau1701);
+	adau1701->control_data = client;
 	ret = snd_soc_register_codec(&client->dev, &adau1701_codec_drv,
 			&adau1701_dai, 1);
 	if (ret < 0)
-- 
1.7.4.1





More information about the Alsa-devel mailing list