mirror of
https://github.com/torvalds/linux.git
synced 2024-11-11 06:31:49 +00:00
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)
This commit is contained in:
parent
862af8adbe
commit
7f984b55ac
@ -768,6 +768,7 @@ static __devinit int wm8940_i2c_probe(struct i2c_client *i2c,
|
|||||||
|
|
||||||
i2c_set_clientdata(i2c, wm8940);
|
i2c_set_clientdata(i2c, wm8940);
|
||||||
wm8940->control_data = i2c;
|
wm8940->control_data = i2c;
|
||||||
|
wm8940->control_type = SND_SOC_I2C;
|
||||||
|
|
||||||
ret = snd_soc_register_codec(&i2c->dev,
|
ret = snd_soc_register_codec(&i2c->dev,
|
||||||
&soc_codec_dev_wm8940, &wm8940_dai, 1);
|
&soc_codec_dev_wm8940, &wm8940_dai, 1);
|
||||||
|
@ -1003,6 +1003,7 @@ static __devinit int wm8955_i2c_probe(struct i2c_client *i2c,
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
i2c_set_clientdata(i2c, wm8955);
|
i2c_set_clientdata(i2c, wm8955);
|
||||||
|
wm8955->control_type = SND_SOC_I2C;
|
||||||
|
|
||||||
ret = snd_soc_register_codec(&i2c->dev,
|
ret = snd_soc_register_codec(&i2c->dev,
|
||||||
&soc_codec_dev_wm8955, &wm8955_dai, 1);
|
&soc_codec_dev_wm8955, &wm8955_dai, 1);
|
||||||
|
@ -1013,6 +1013,7 @@ static __devinit int wm8960_i2c_probe(struct i2c_client *i2c,
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
i2c_set_clientdata(i2c, wm8960);
|
i2c_set_clientdata(i2c, wm8960);
|
||||||
|
wm8960->control_type = SND_SOC_I2C;
|
||||||
wm8960->control_data = i2c;
|
wm8960->control_data = i2c;
|
||||||
|
|
||||||
ret = snd_soc_register_codec(&i2c->dev,
|
ret = snd_soc_register_codec(&i2c->dev,
|
||||||
|
@ -718,6 +718,7 @@ static __devinit int wm8971_i2c_probe(struct i2c_client *i2c,
|
|||||||
if (wm8971 == NULL)
|
if (wm8971 == NULL)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
wm8971->control_type = SND_SOC_I2C;
|
||||||
i2c_set_clientdata(i2c, wm8971);
|
i2c_set_clientdata(i2c, wm8971);
|
||||||
|
|
||||||
ret = snd_soc_register_codec(&i2c->dev,
|
ret = snd_soc_register_codec(&i2c->dev,
|
||||||
|
@ -1335,6 +1335,7 @@ static __devinit int wm9081_i2c_probe(struct i2c_client *i2c,
|
|||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
i2c_set_clientdata(i2c, wm9081);
|
i2c_set_clientdata(i2c, wm9081);
|
||||||
|
wm9081->control_type = SND_SOC_I2C;
|
||||||
wm9081->control_data = i2c;
|
wm9081->control_data = i2c;
|
||||||
|
|
||||||
ret = snd_soc_register_codec(&i2c->dev,
|
ret = snd_soc_register_codec(&i2c->dev,
|
||||||
|
Loading…
Reference in New Issue
Block a user