diff options
author | Lars-Peter Clausen <lars@metafoo.de> | 2010-12-28 15:08:57 -0500 |
---|---|---|
committer | Mark Brown <broonie@opensource.wolfsonmicro.com> | 2010-12-28 18:18:43 -0500 |
commit | 7f984b55acb6530bf854bfcac13104228f3336c1 (patch) | |
tree | 60b348bcb4d70cba8928aa8db8fbf8e90c5110a0 /sound | |
parent | 862af8adbe6b9ccb7c00c13717b1f92465f79aa2 (diff) |
ASoC: codecs: Add missing control_type initialization
Some codec drivers do not initialize the control_type field in their private
device struct, but still use it when calling snd_soc_codec_set_cache_io.
This patch fixes the issue by properly initializing it in the drivers probe
functions.
Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/wm8940.c | 1 | ||||
-rw-r--r-- | sound/soc/codecs/wm8955.c | 1 | ||||
-rw-r--r-- | sound/soc/codecs/wm8960.c | 1 | ||||
-rw-r--r-- | sound/soc/codecs/wm8971.c | 1 | ||||
-rw-r--r-- | sound/soc/codecs/wm9081.c | 1 |
5 files changed, 5 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8940.c b/sound/soc/codecs/wm8940.c index 2cb16f895c46..23086e2c976a 100644 --- a/sound/soc/codecs/wm8940.c +++ b/sound/soc/codecs/wm8940.c | |||
@@ -768,6 +768,7 @@ static __devinit int wm8940_i2c_probe(struct i2c_client *i2c, | |||
768 | 768 | ||
769 | i2c_set_clientdata(i2c, wm8940); | 769 | i2c_set_clientdata(i2c, wm8940); |
770 | wm8940->control_data = i2c; | 770 | wm8940->control_data = i2c; |
771 | wm8940->control_type = SND_SOC_I2C; | ||
771 | 772 | ||
772 | ret = snd_soc_register_codec(&i2c->dev, | 773 | ret = snd_soc_register_codec(&i2c->dev, |
773 | &soc_codec_dev_wm8940, &wm8940_dai, 1); | 774 | &soc_codec_dev_wm8940, &wm8940_dai, 1); |
diff --git a/sound/soc/codecs/wm8955.c b/sound/soc/codecs/wm8955.c index 9cbab8e1de01..a2ad91d6078a 100644 --- a/sound/soc/codecs/wm8955.c +++ b/sound/soc/codecs/wm8955.c | |||
@@ -1003,6 +1003,7 @@ static __devinit int wm8955_i2c_probe(struct i2c_client *i2c, | |||
1003 | return -ENOMEM; | 1003 | return -ENOMEM; |
1004 | 1004 | ||
1005 | i2c_set_clientdata(i2c, wm8955); | 1005 | i2c_set_clientdata(i2c, wm8955); |
1006 | wm8955->control_type = SND_SOC_I2C; | ||
1006 | 1007 | ||
1007 | ret = snd_soc_register_codec(&i2c->dev, | 1008 | ret = snd_soc_register_codec(&i2c->dev, |
1008 | &soc_codec_dev_wm8955, &wm8955_dai, 1); | 1009 | &soc_codec_dev_wm8955, &wm8955_dai, 1); |
diff --git a/sound/soc/codecs/wm8960.c b/sound/soc/codecs/wm8960.c index 21986c42272f..ff6ff2f529d2 100644 --- a/sound/soc/codecs/wm8960.c +++ b/sound/soc/codecs/wm8960.c | |||
@@ -1013,6 +1013,7 @@ static __devinit int wm8960_i2c_probe(struct i2c_client *i2c, | |||
1013 | return -ENOMEM; | 1013 | return -ENOMEM; |
1014 | 1014 | ||
1015 | i2c_set_clientdata(i2c, wm8960); | 1015 | i2c_set_clientdata(i2c, wm8960); |
1016 | wm8960->control_type = SND_SOC_I2C; | ||
1016 | wm8960->control_data = i2c; | 1017 | wm8960->control_data = i2c; |
1017 | 1018 | ||
1018 | ret = snd_soc_register_codec(&i2c->dev, | 1019 | ret = snd_soc_register_codec(&i2c->dev, |
diff --git a/sound/soc/codecs/wm8971.c b/sound/soc/codecs/wm8971.c index 63f6dbf5d070..9f18db6e167c 100644 --- a/sound/soc/codecs/wm8971.c +++ b/sound/soc/codecs/wm8971.c | |||
@@ -718,6 +718,7 @@ static __devinit int wm8971_i2c_probe(struct i2c_client *i2c, | |||
718 | if (wm8971 == NULL) | 718 | if (wm8971 == NULL) |
719 | return -ENOMEM; | 719 | return -ENOMEM; |
720 | 720 | ||
721 | wm8971->control_type = SND_SOC_I2C; | ||
721 | i2c_set_clientdata(i2c, wm8971); | 722 | i2c_set_clientdata(i2c, wm8971); |
722 | 723 | ||
723 | ret = snd_soc_register_codec(&i2c->dev, | 724 | ret = snd_soc_register_codec(&i2c->dev, |
diff --git a/sound/soc/codecs/wm9081.c b/sound/soc/codecs/wm9081.c index ecc7c37180c7..a486670966bd 100644 --- a/sound/soc/codecs/wm9081.c +++ b/sound/soc/codecs/wm9081.c | |||
@@ -1335,6 +1335,7 @@ static __devinit int wm9081_i2c_probe(struct i2c_client *i2c, | |||
1335 | return -ENOMEM; | 1335 | return -ENOMEM; |
1336 | 1336 | ||
1337 | i2c_set_clientdata(i2c, wm9081); | 1337 | i2c_set_clientdata(i2c, wm9081); |
1338 | wm9081->control_type = SND_SOC_I2C; | ||
1338 | wm9081->control_data = i2c; | 1339 | wm9081->control_data = i2c; |
1339 | 1340 | ||
1340 | ret = snd_soc_register_codec(&i2c->dev, | 1341 | ret = snd_soc_register_codec(&i2c->dev, |