Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7f984b55 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Mark Brown
Browse files

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: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Cc: stable@kernel.org (for 2.6.37 only)
parent 862af8ad
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -768,6 +768,7 @@ static __devinit int wm8940_i2c_probe(struct i2c_client *i2c,

	i2c_set_clientdata(i2c, wm8940);
	wm8940->control_data = i2c;
	wm8940->control_type = SND_SOC_I2C;

	ret = snd_soc_register_codec(&i2c->dev,
			&soc_codec_dev_wm8940, &wm8940_dai, 1);
+1 −0
Original line number Diff line number Diff line
@@ -1003,6 +1003,7 @@ static __devinit int wm8955_i2c_probe(struct i2c_client *i2c,
		return -ENOMEM;

	i2c_set_clientdata(i2c, wm8955);
	wm8955->control_type = SND_SOC_I2C;

	ret = snd_soc_register_codec(&i2c->dev,
			&soc_codec_dev_wm8955, &wm8955_dai, 1);
+1 −0
Original line number Diff line number Diff line
@@ -1013,6 +1013,7 @@ static __devinit int wm8960_i2c_probe(struct i2c_client *i2c,
		return -ENOMEM;

	i2c_set_clientdata(i2c, wm8960);
	wm8960->control_type = SND_SOC_I2C;
	wm8960->control_data = i2c;

	ret = snd_soc_register_codec(&i2c->dev,
+1 −0
Original line number Diff line number Diff line
@@ -718,6 +718,7 @@ static __devinit int wm8971_i2c_probe(struct i2c_client *i2c,
	if (wm8971 == NULL)
		return -ENOMEM;

	wm8971->control_type = SND_SOC_I2C;
	i2c_set_clientdata(i2c, wm8971);

	ret = snd_soc_register_codec(&i2c->dev,
+1 −0
Original line number Diff line number Diff line
@@ -1335,6 +1335,7 @@ static __devinit int wm9081_i2c_probe(struct i2c_client *i2c,
		return -ENOMEM;

	i2c_set_clientdata(i2c, wm9081);
	wm9081->control_type = SND_SOC_I2C;
	wm9081->control_data = i2c;

	ret = snd_soc_register_codec(&i2c->dev,