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

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

Merge branch 'fix/asoc' into for-linus

parents ddfb3199 f019ee5f
Loading
Loading
Loading
Loading
+1 −1
Original line number Original line Diff line number Diff line
@@ -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;
+3 −0
Original line number Original line Diff line number Diff line
@@ -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,
+0 −2
Original line number Original line Diff line number Diff line
@@ -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;
+0 −3
Original line number Original line Diff line number Diff line
@@ -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;
+3 −3
Original line number Original line Diff line number Diff line
@@ -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,


	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 */