Merge remote-tracking branches 'asoc/topic/wm8776', 'asoc/topic/wm8804', 'asoc/topic/wm8900', 'asoc/topic/wm8903' and 'asoc/topic/wm8940' into asoc-next
This commit is contained in:
commit
7bff3b60fb
5 changed files with 5 additions and 94 deletions
|
@ -408,24 +408,6 @@ static struct snd_soc_dai_driver wm8776_dai[] = {
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
#ifdef CONFIG_PM
|
|
||||||
static int wm8776_suspend(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
wm8776_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int wm8776_resume(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
wm8776_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
#else
|
|
||||||
#define wm8776_suspend NULL
|
|
||||||
#define wm8776_resume NULL
|
|
||||||
#endif
|
|
||||||
|
|
||||||
static int wm8776_probe(struct snd_soc_codec *codec)
|
static int wm8776_probe(struct snd_soc_codec *codec)
|
||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
@ -436,8 +418,6 @@ static int wm8776_probe(struct snd_soc_codec *codec)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
wm8776_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
|
||||||
|
|
||||||
/* Latch the update bits; right channel only since we always
|
/* Latch the update bits; right channel only since we always
|
||||||
* update both. */
|
* update both. */
|
||||||
snd_soc_update_bits(codec, WM8776_HPRVOL, 0x100, 0x100);
|
snd_soc_update_bits(codec, WM8776_HPRVOL, 0x100, 0x100);
|
||||||
|
@ -446,19 +426,10 @@ static int wm8776_probe(struct snd_soc_codec *codec)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* power down chip */
|
|
||||||
static int wm8776_remove(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
wm8776_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct snd_soc_codec_driver soc_codec_dev_wm8776 = {
|
static struct snd_soc_codec_driver soc_codec_dev_wm8776 = {
|
||||||
.probe = wm8776_probe,
|
.probe = wm8776_probe,
|
||||||
.remove = wm8776_remove,
|
|
||||||
.suspend = wm8776_suspend,
|
|
||||||
.resume = wm8776_resume,
|
|
||||||
.set_bias_level = wm8776_set_bias_level,
|
.set_bias_level = wm8776_set_bias_level,
|
||||||
|
.suspend_bias_off = true,
|
||||||
|
|
||||||
.controls = wm8776_snd_controls,
|
.controls = wm8776_snd_controls,
|
||||||
.num_controls = ARRAY_SIZE(wm8776_snd_controls),
|
.num_controls = ARRAY_SIZE(wm8776_snd_controls),
|
||||||
|
|
|
@ -524,7 +524,6 @@ static int wm8804_remove(struct snd_soc_codec *codec)
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
wm8804 = snd_soc_codec_get_drvdata(codec);
|
wm8804 = snd_soc_codec_get_drvdata(codec);
|
||||||
wm8804_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
||||||
|
|
||||||
for (i = 0; i < ARRAY_SIZE(wm8804->supplies); ++i)
|
for (i = 0; i < ARRAY_SIZE(wm8804->supplies); ++i)
|
||||||
regulator_unregister_notifier(wm8804->supplies[i].consumer,
|
regulator_unregister_notifier(wm8804->supplies[i].consumer,
|
||||||
|
@ -606,8 +605,6 @@ static int wm8804_probe(struct snd_soc_codec *codec)
|
||||||
goto err_reg_enable;
|
goto err_reg_enable;
|
||||||
}
|
}
|
||||||
|
|
||||||
wm8804_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
err_reg_enable:
|
err_reg_enable:
|
||||||
|
|
|
@ -1209,16 +1209,8 @@ static int wm8900_probe(struct snd_soc_codec *codec)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* power down chip */
|
|
||||||
static int wm8900_remove(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
wm8900_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct snd_soc_codec_driver soc_codec_dev_wm8900 = {
|
static struct snd_soc_codec_driver soc_codec_dev_wm8900 = {
|
||||||
.probe = wm8900_probe,
|
.probe = wm8900_probe,
|
||||||
.remove = wm8900_remove,
|
|
||||||
.suspend = wm8900_suspend,
|
.suspend = wm8900_suspend,
|
||||||
.resume = wm8900_resume,
|
.resume = wm8900_resume,
|
||||||
.set_bias_level = wm8900_set_bias_level,
|
.set_bias_level = wm8900_set_bias_level,
|
||||||
|
|
|
@ -118,7 +118,6 @@ static const struct reg_default wm8903_reg_defaults[] = {
|
||||||
struct wm8903_priv {
|
struct wm8903_priv {
|
||||||
struct wm8903_platform_data *pdata;
|
struct wm8903_platform_data *pdata;
|
||||||
struct device *dev;
|
struct device *dev;
|
||||||
struct snd_soc_codec *codec;
|
|
||||||
struct regmap *regmap;
|
struct regmap *regmap;
|
||||||
|
|
||||||
int sysclk;
|
int sysclk;
|
||||||
|
@ -1759,21 +1758,12 @@ static struct snd_soc_dai_driver wm8903_dai = {
|
||||||
.symmetric_rates = 1,
|
.symmetric_rates = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int wm8903_suspend(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
wm8903_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int wm8903_resume(struct snd_soc_codec *codec)
|
static int wm8903_resume(struct snd_soc_codec *codec)
|
||||||
{
|
{
|
||||||
struct wm8903_priv *wm8903 = snd_soc_codec_get_drvdata(codec);
|
struct wm8903_priv *wm8903 = snd_soc_codec_get_drvdata(codec);
|
||||||
|
|
||||||
regcache_sync(wm8903->regmap);
|
regcache_sync(wm8903->regmap);
|
||||||
|
|
||||||
wm8903_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1891,33 +1881,12 @@ static void wm8903_free_gpio(struct wm8903_priv *wm8903)
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
static int wm8903_probe(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
struct wm8903_priv *wm8903 = snd_soc_codec_get_drvdata(codec);
|
|
||||||
|
|
||||||
wm8903->codec = codec;
|
|
||||||
|
|
||||||
/* power on device */
|
|
||||||
wm8903_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* power down chip */
|
|
||||||
static int wm8903_remove(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
wm8903_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct snd_soc_codec_driver soc_codec_dev_wm8903 = {
|
static struct snd_soc_codec_driver soc_codec_dev_wm8903 = {
|
||||||
.probe = wm8903_probe,
|
|
||||||
.remove = wm8903_remove,
|
|
||||||
.suspend = wm8903_suspend,
|
|
||||||
.resume = wm8903_resume,
|
.resume = wm8903_resume,
|
||||||
.set_bias_level = wm8903_set_bias_level,
|
.set_bias_level = wm8903_set_bias_level,
|
||||||
.seq_notifier = wm8903_seq_notifier,
|
.seq_notifier = wm8903_seq_notifier,
|
||||||
|
.suspend_bias_off = true,
|
||||||
|
|
||||||
.controls = wm8903_snd_controls,
|
.controls = wm8903_snd_controls,
|
||||||
.num_controls = ARRAY_SIZE(wm8903_snd_controls),
|
.num_controls = ARRAY_SIZE(wm8903_snd_controls),
|
||||||
.dapm_widgets = wm8903_dapm_widgets,
|
.dapm_widgets = wm8903_dapm_widgets,
|
||||||
|
|
|
@ -695,17 +695,6 @@ static struct snd_soc_dai_driver wm8940_dai = {
|
||||||
.symmetric_rates = 1,
|
.symmetric_rates = 1,
|
||||||
};
|
};
|
||||||
|
|
||||||
static int wm8940_suspend(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
return wm8940_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
||||||
}
|
|
||||||
|
|
||||||
static int wm8940_resume(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
wm8940_set_bias_level(codec, SND_SOC_BIAS_STANDBY);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static int wm8940_probe(struct snd_soc_codec *codec)
|
static int wm8940_probe(struct snd_soc_codec *codec)
|
||||||
{
|
{
|
||||||
struct wm8940_setup_data *pdata = codec->dev->platform_data;
|
struct wm8940_setup_data *pdata = codec->dev->platform_data;
|
||||||
|
@ -736,18 +725,11 @@ static int wm8940_probe(struct snd_soc_codec *codec)
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int wm8940_remove(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
wm8940_set_bias_level(codec, SND_SOC_BIAS_OFF);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
static struct snd_soc_codec_driver soc_codec_dev_wm8940 = {
|
static struct snd_soc_codec_driver soc_codec_dev_wm8940 = {
|
||||||
.probe = wm8940_probe,
|
.probe = wm8940_probe,
|
||||||
.remove = wm8940_remove,
|
|
||||||
.suspend = wm8940_suspend,
|
|
||||||
.resume = wm8940_resume,
|
|
||||||
.set_bias_level = wm8940_set_bias_level,
|
.set_bias_level = wm8940_set_bias_level,
|
||||||
|
.suspend_bias_off = true,
|
||||||
|
|
||||||
.controls = wm8940_snd_controls,
|
.controls = wm8940_snd_controls,
|
||||||
.num_controls = ARRAY_SIZE(wm8940_snd_controls),
|
.num_controls = ARRAY_SIZE(wm8940_snd_controls),
|
||||||
.dapm_widgets = wm8940_dapm_widgets,
|
.dapm_widgets = wm8940_dapm_widgets,
|
||||||
|
|
Loading…
Add table
Reference in a new issue