Commit 00e6a319 authored by Takashi Iwai's avatar Takashi Iwai

Merge branch 'fix/asoc' into for-linus

parents ddfb3199 f019ee5f
...@@ -153,7 +153,7 @@ static int cq93vc_resume(struct snd_soc_codec *codec) ...@@ -153,7 +153,7 @@ static int cq93vc_resume(struct snd_soc_codec *codec)
static int cq93vc_probe(struct snd_soc_codec *codec) static int cq93vc_probe(struct snd_soc_codec *codec)
{ {
struct davinci_vc *davinci_vc = codec->dev->platform_data; struct davinci_vc *davinci_vc = snd_soc_codec_get_drvdata(codec);
davinci_vc->cq93vc.codec = codec; davinci_vc->cq93vc.codec = codec;
codec->control_data = davinci_vc; codec->control_data = davinci_vc;
......
...@@ -367,9 +367,12 @@ static int cx20442_codec_remove(struct snd_soc_codec *codec) ...@@ -367,9 +367,12 @@ static int cx20442_codec_remove(struct snd_soc_codec *codec)
return 0; return 0;
} }
static const u8 cx20442_reg = CX20442_TELOUT | CX20442_MIC;
static struct snd_soc_codec_driver cx20442_codec_dev = { static struct snd_soc_codec_driver cx20442_codec_dev = {
.probe = cx20442_codec_probe, .probe = cx20442_codec_probe,
.remove = cx20442_codec_remove, .remove = cx20442_codec_remove,
.reg_cache_default = &cx20442_reg,
.reg_cache_size = 1, .reg_cache_size = 1,
.reg_word_size = sizeof(u8), .reg_word_size = sizeof(u8),
.read = cx20442_read_reg_cache, .read = cx20442_read_reg_cache,
......
...@@ -507,8 +507,6 @@ static int ams_delta_cx20442_init(struct snd_soc_pcm_runtime *rtd) ...@@ -507,8 +507,6 @@ static int ams_delta_cx20442_init(struct snd_soc_pcm_runtime *rtd)
/* Set up digital mute if not provided by the codec */ /* Set up digital mute if not provided by the codec */
if (!codec_dai->driver->ops) { if (!codec_dai->driver->ops) {
codec_dai->driver->ops = &ams_delta_dai_ops; codec_dai->driver->ops = &ams_delta_dai_ops;
} else if (!codec_dai->driver->ops->digital_mute) {
codec_dai->driver->ops->digital_mute = ams_delta_digital_mute;
} else { } else {
ams_delta_ops.startup = ams_delta_startup; ams_delta_ops.startup = ams_delta_startup;
ams_delta_ops.shutdown = ams_delta_shutdown; ams_delta_ops.shutdown = ams_delta_shutdown;
......
...@@ -1664,9 +1664,6 @@ static int soc_probe_aux_dev(struct snd_soc_card *card, int num) ...@@ -1664,9 +1664,6 @@ static int soc_probe_aux_dev(struct snd_soc_card *card, int num)
goto out; goto out;
found: found:
if (!try_module_get(codec->dev->driver->owner))
return -ENODEV;
ret = soc_probe_codec(card, codec); ret = soc_probe_codec(card, codec);
if (ret < 0) if (ret < 0)
return ret; return ret;
......
...@@ -1742,7 +1742,7 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, ...@@ -1742,7 +1742,7 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol,
int max = mc->max; int max = mc->max;
unsigned int mask = (1 << fls(max)) - 1; unsigned int mask = (1 << fls(max)) - 1;
unsigned int invert = mc->invert; unsigned int invert = mc->invert;
unsigned int val, val_mask; unsigned int val;
int connect, change; int connect, change;
struct snd_soc_dapm_update update; struct snd_soc_dapm_update update;
...@@ -1750,13 +1750,13 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol, ...@@ -1750,13 +1750,13 @@ int snd_soc_dapm_put_volsw(struct snd_kcontrol *kcontrol,
if (invert) if (invert)
val = max - val; val = max - val;
val_mask = mask << shift; mask = mask << shift;
val = val << shift; val = val << shift;
mutex_lock(&widget->codec->mutex); mutex_lock(&widget->codec->mutex);
widget->value = val; widget->value = val;
change = snd_soc_test_bits(widget->codec, reg, val_mask, val); change = snd_soc_test_bits(widget->codec, reg, mask, val);
if (change) { if (change) {
if (val) if (val)
/* new connection */ /* new connection */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment