Merge remote-tracking branches 'asoc/fix/tlv320aic3x' and 'asoc/fix/wm8962' into asoc-linus
This commit is contained in:
commit
e4fc141d2a
|
@ -1509,14 +1509,17 @@ static int aic3x_init(struct snd_soc_codec *codec)
|
||||||
snd_soc_write(codec, PGAL_2_LLOPM_VOL, DEFAULT_VOL);
|
snd_soc_write(codec, PGAL_2_LLOPM_VOL, DEFAULT_VOL);
|
||||||
snd_soc_write(codec, PGAR_2_RLOPM_VOL, DEFAULT_VOL);
|
snd_soc_write(codec, PGAR_2_RLOPM_VOL, DEFAULT_VOL);
|
||||||
|
|
||||||
/* Line2 to HP Bypass default volume, disconnect from Output Mixer */
|
/* On tlv320aic3104, these registers are reserved and must not be written */
|
||||||
snd_soc_write(codec, LINE2L_2_HPLOUT_VOL, DEFAULT_VOL);
|
if (aic3x->model != AIC3X_MODEL_3104) {
|
||||||
snd_soc_write(codec, LINE2R_2_HPROUT_VOL, DEFAULT_VOL);
|
/* Line2 to HP Bypass default volume, disconnect from Output Mixer */
|
||||||
snd_soc_write(codec, LINE2L_2_HPLCOM_VOL, DEFAULT_VOL);
|
snd_soc_write(codec, LINE2L_2_HPLOUT_VOL, DEFAULT_VOL);
|
||||||
snd_soc_write(codec, LINE2R_2_HPRCOM_VOL, DEFAULT_VOL);
|
snd_soc_write(codec, LINE2R_2_HPROUT_VOL, DEFAULT_VOL);
|
||||||
/* Line2 Line Out default volume, disconnect from Output Mixer */
|
snd_soc_write(codec, LINE2L_2_HPLCOM_VOL, DEFAULT_VOL);
|
||||||
snd_soc_write(codec, LINE2L_2_LLOPM_VOL, DEFAULT_VOL);
|
snd_soc_write(codec, LINE2R_2_HPRCOM_VOL, DEFAULT_VOL);
|
||||||
snd_soc_write(codec, LINE2R_2_RLOPM_VOL, DEFAULT_VOL);
|
/* Line2 Line Out default volume, disconnect from Output Mixer */
|
||||||
|
snd_soc_write(codec, LINE2L_2_LLOPM_VOL, DEFAULT_VOL);
|
||||||
|
snd_soc_write(codec, LINE2R_2_RLOPM_VOL, DEFAULT_VOL);
|
||||||
|
}
|
||||||
|
|
||||||
switch (aic3x->model) {
|
switch (aic3x->model) {
|
||||||
case AIC3X_MODEL_3X:
|
case AIC3X_MODEL_3X:
|
||||||
|
|
|
@ -3760,7 +3760,7 @@ static int wm8962_i2c_probe(struct i2c_client *i2c,
|
||||||
ret = snd_soc_register_codec(&i2c->dev,
|
ret = snd_soc_register_codec(&i2c->dev,
|
||||||
&soc_codec_dev_wm8962, &wm8962_dai, 1);
|
&soc_codec_dev_wm8962, &wm8962_dai, 1);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto err_enable;
|
goto err_pm_runtime;
|
||||||
|
|
||||||
regcache_cache_only(wm8962->regmap, true);
|
regcache_cache_only(wm8962->regmap, true);
|
||||||
|
|
||||||
|
@ -3769,6 +3769,8 @@ static int wm8962_i2c_probe(struct i2c_client *i2c,
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
|
err_pm_runtime:
|
||||||
|
pm_runtime_disable(&i2c->dev);
|
||||||
err_enable:
|
err_enable:
|
||||||
regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies), wm8962->supplies);
|
regulator_bulk_disable(ARRAY_SIZE(wm8962->supplies), wm8962->supplies);
|
||||||
err:
|
err:
|
||||||
|
@ -3778,6 +3780,7 @@ err:
|
||||||
static int wm8962_i2c_remove(struct i2c_client *client)
|
static int wm8962_i2c_remove(struct i2c_client *client)
|
||||||
{
|
{
|
||||||
snd_soc_unregister_codec(&client->dev);
|
snd_soc_unregister_codec(&client->dev);
|
||||||
|
pm_runtime_disable(&client->dev);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue