aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMilan plzik <milan.plzik@gmail.com>2008-01-10 08:39:46 -0500
committerJaroslav Kysela <perex@perex.cz>2008-01-31 11:29:50 -0500
commit1b075e3f7323f85f7e9cc7b6ae7a36c33d9ce76e (patch)
tree53290142224d71c1a109efdbc5e975bc5a8e5f2c
parent4ccab3e72e211c40d868045c7d3216948999bcf7 (diff)
[ALSA] soc - Fix power switching support for DAPM_SWITCH widgets
Signed-off-by: Milan plzik <milan.plzik@gmail.com> Signed-off-by: Liam Girdwood <lg@opensource.wolfsonmicro.com> Signed-off-by: Takashi Iwai <tiwai@suse.de> Signed-off-by: Jaroslav Kysela <perex@perex.cz>
-rw-r--r--sound/soc/soc-dapm.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sound/soc/soc-dapm.c b/sound/soc/soc-dapm.c
index 7eb6c5c03775..91d58b56470e 100644
--- a/sound/soc/soc-dapm.c
+++ b/sound/soc/soc-dapm.c
@@ -691,7 +691,7 @@ static int dapm_mux_update_power(struct snd_soc_dapm_widget *widget,
691 return 0; 691 return 0;
692} 692}
693 693
694/* test and update the power status of a mixer widget */ 694/* test and update the power status of a mixer or switch widget */
695static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, 695static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget,
696 struct snd_kcontrol *kcontrol, int reg, 696 struct snd_kcontrol *kcontrol, int reg,
697 int val_mask, int val, int invert) 697 int val_mask, int val, int invert)
@@ -699,7 +699,8 @@ static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget,
699 struct snd_soc_dapm_path *path; 699 struct snd_soc_dapm_path *path;
700 int found = 0; 700 int found = 0;
701 701
702 if (widget->id != snd_soc_dapm_mixer) 702 if (widget->id != snd_soc_dapm_mixer &&
703 widget->id != snd_soc_dapm_switch)
703 return -ENODEV; 704 return -ENODEV;
704 705
705 if (!snd_soc_test_bits(widget->codec, reg, val_mask, val)) 706 if (!snd_soc_test_bits(widget->codec, reg, val_mask, val))