diff options
author | Milan plzik <milan.plzik@gmail.com> | 2008-01-10 08:39:46 -0500 |
---|---|---|
committer | Jaroslav Kysela <perex@perex.cz> | 2008-01-31 11:29:50 -0500 |
commit | 1b075e3f7323f85f7e9cc7b6ae7a36c33d9ce76e (patch) | |
tree | 53290142224d71c1a109efdbc5e975bc5a8e5f2c /sound/soc | |
parent | 4ccab3e72e211c40d868045c7d3216948999bcf7 (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>
Diffstat (limited to 'sound/soc')
-rw-r--r-- | sound/soc/soc-dapm.c | 5 |
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 */ |
695 | static int dapm_mixer_update_power(struct snd_soc_dapm_widget *widget, | 695 | static 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)) |