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

Commit 1810afd3 authored by Mark Brown's avatar Mark Brown
Browse files

Merge remote-tracking branches 'asoc/topic/wm9090', 'asoc/topic/wm9712' and...

Merge remote-tracking branches 'asoc/topic/wm9090', 'asoc/topic/wm9712' and 'asoc/topic/wm9713' into asoc-next
Loading
Loading
Loading
Loading
+1 −31
Original line number Diff line number Diff line
@@ -550,45 +550,15 @@ static int wm9090_probe(struct snd_soc_codec *codec)
	snd_soc_update_bits(codec, WM9090_CLOCKING_1,
			    WM9090_TOCLK_ENA, WM9090_TOCLK_ENA);

	wm9090_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

	wm9090_add_controls(codec);

	return 0;
}

#ifdef CONFIG_PM
static int wm9090_suspend(struct snd_soc_codec *codec)
{
	wm9090_set_bias_level(codec, SND_SOC_BIAS_OFF);

	return 0;
}

static int wm9090_resume(struct snd_soc_codec *codec)
{
	wm9090_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

	return 0;
}
#else
#define wm9090_suspend NULL
#define wm9090_resume NULL
#endif

static int wm9090_remove(struct snd_soc_codec *codec)
{
	wm9090_set_bias_level(codec, SND_SOC_BIAS_OFF);

	return 0;
}

static struct snd_soc_codec_driver soc_codec_dev_wm9090 = {
	.probe = 	wm9090_probe,
	.remove = 	wm9090_remove,
	.suspend = 	wm9090_suspend,
	.resume =	wm9090_resume,
	.set_bias_level = wm9090_set_bias_level,
	.suspend_bias_off = true,
};

static const struct regmap_config wm9090_regmap = {
+1 −9
Original line number Diff line number Diff line
@@ -636,12 +636,6 @@ static int wm9712_reset(struct snd_soc_codec *codec, int try_warm)
	return -EIO;
}

static int wm9712_soc_suspend(struct snd_soc_codec *codec)
{
	wm9712_set_bias_level(codec, SND_SOC_BIAS_OFF);
	return 0;
}

static int wm9712_soc_resume(struct snd_soc_codec *codec)
{
	struct wm9712_priv *wm9712 = snd_soc_codec_get_drvdata(codec);
@@ -686,8 +680,6 @@ static int wm9712_soc_probe(struct snd_soc_codec *codec)
	/* set alc mux to none */
	ac97_write(codec, AC97_VIDEO, ac97_read(codec, AC97_VIDEO) | 0x3000);

	wm9712_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

	return 0;

reset_err:
@@ -706,11 +698,11 @@ static int wm9712_soc_remove(struct snd_soc_codec *codec)
static struct snd_soc_codec_driver soc_codec_dev_wm9712 = {
	.probe = 	wm9712_soc_probe,
	.remove = 	wm9712_soc_remove,
	.suspend =	wm9712_soc_suspend,
	.resume =	wm9712_soc_resume,
	.read = ac97_read,
	.write = ac97_write,
	.set_bias_level = wm9712_set_bias_level,
	.suspend_bias_off = true,
	.reg_cache_size = ARRAY_SIZE(wm9712_reg),
	.reg_word_size = sizeof(u16),
	.reg_cache_step = 2,
+0 −2
Original line number Diff line number Diff line
@@ -1236,8 +1236,6 @@ static int wm9713_soc_probe(struct snd_soc_codec *codec)
	if (ret < 0)
		goto reset_err;

	wm9713_set_bias_level(codec, SND_SOC_BIAS_STANDBY);

	/* unmute the adc - move to kcontrol */
	reg = ac97_read(codec, AC97_CD) & 0x7fff;
	ac97_write(codec, AC97_CD, reg);