mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-03 00:54:09 +08:00
ASoC: Use data based init for wm9705 DAPM
Signed-off-by: Lu Guanqun <guanqun.lu@intel.com> Acked-by: Liam Girdwood <lrg@ti.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
parent
983347785b
commit
97a58d6e1b
@ -142,7 +142,7 @@ static const struct snd_soc_dapm_widget wm9705_dapm_widgets[] = {
|
|||||||
* constantly enabled, we use the mutes on those inputs to simulate such
|
* constantly enabled, we use the mutes on those inputs to simulate such
|
||||||
* controls.
|
* controls.
|
||||||
*/
|
*/
|
||||||
static const struct snd_soc_dapm_route audio_map[] = {
|
static const struct snd_soc_dapm_route wm9705_audio_map[] = {
|
||||||
/* HP mixer */
|
/* HP mixer */
|
||||||
{"HP Mixer", "PCBeep Playback Switch", "PCBEEP PGA"},
|
{"HP Mixer", "PCBeep Playback Switch", "PCBEEP PGA"},
|
||||||
{"HP Mixer", "CD Playback Switch", "CD PGA"},
|
{"HP Mixer", "CD Playback Switch", "CD PGA"},
|
||||||
@ -200,17 +200,6 @@ static const struct snd_soc_dapm_route audio_map[] = {
|
|||||||
{"Right ADC", NULL, "ADC PGA"},
|
{"Right ADC", NULL, "ADC PGA"},
|
||||||
};
|
};
|
||||||
|
|
||||||
static int wm9705_add_widgets(struct snd_soc_codec *codec)
|
|
||||||
{
|
|
||||||
struct snd_soc_dapm_context *dapm = &codec->dapm;
|
|
||||||
|
|
||||||
snd_soc_dapm_new_controls(dapm, wm9705_dapm_widgets,
|
|
||||||
ARRAY_SIZE(wm9705_dapm_widgets));
|
|
||||||
snd_soc_dapm_add_routes(dapm, audio_map, ARRAY_SIZE(audio_map));
|
|
||||||
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/* We use a register cache to enhance read performance. */
|
/* We use a register cache to enhance read performance. */
|
||||||
static unsigned int ac97_read(struct snd_soc_codec *codec, unsigned int reg)
|
static unsigned int ac97_read(struct snd_soc_codec *codec, unsigned int reg)
|
||||||
{
|
{
|
||||||
@ -364,7 +353,6 @@ static int wm9705_soc_probe(struct snd_soc_codec *codec)
|
|||||||
|
|
||||||
snd_soc_add_controls(codec, wm9705_snd_ac97_controls,
|
snd_soc_add_controls(codec, wm9705_snd_ac97_controls,
|
||||||
ARRAY_SIZE(wm9705_snd_ac97_controls));
|
ARRAY_SIZE(wm9705_snd_ac97_controls));
|
||||||
wm9705_add_widgets(codec);
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
@ -390,6 +378,10 @@ static struct snd_soc_codec_driver soc_codec_dev_wm9705 = {
|
|||||||
.reg_word_size = sizeof(u16),
|
.reg_word_size = sizeof(u16),
|
||||||
.reg_cache_step = 2,
|
.reg_cache_step = 2,
|
||||||
.reg_cache_default = wm9705_reg,
|
.reg_cache_default = wm9705_reg,
|
||||||
|
.dapm_widgets = wm9705_dapm_widgets,
|
||||||
|
.num_dapm_widgets = ARRAY_SIZE(wm9705_dapm_widgets),
|
||||||
|
.dapm_routes = wm9705_audio_map,
|
||||||
|
.num_dapm_routes = ARRAY_SIZE(wm9705_audio_map),
|
||||||
};
|
};
|
||||||
|
|
||||||
static __devinit int wm9705_probe(struct platform_device *pdev)
|
static __devinit int wm9705_probe(struct platform_device *pdev)
|
||||||
|
Loading…
Reference in New Issue
Block a user