aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/cs5535audio/cs5535audio_olpc.c
diff options
context:
space:
mode:
authorAndres Salomon <dilinger@queued.net>2008-11-06 16:49:55 -0500
committerTakashi Iwai <tiwai@suse.de>2008-12-10 11:14:44 -0500
commit189d34e747e9540b70227f6682bd680868d90b10 (patch)
tree673073f24ba5846edac81491de088e280453982c /sound/pci/cs5535audio/cs5535audio_olpc.c
parent466ae3055be8665525a5613456fcb387ffef4cb7 (diff)
ALSA: cs5535audio: check OLPC's Analog Input status vis GPIO
Checking the HPF register is irrelevant; HPF is secondary to the AI mode. Instead, check for Analog Input mode via GPIO. Signed-off-by: Andres Salomon <dilinger@debian.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/cs5535audio/cs5535audio_olpc.c')
-rw-r--r--sound/pci/cs5535audio/cs5535audio_olpc.c9
1 files changed, 2 insertions, 7 deletions
diff --git a/sound/pci/cs5535audio/cs5535audio_olpc.c b/sound/pci/cs5535audio/cs5535audio_olpc.c
index 6c0c0dbeb218..7f26cfbc8f52 100644
--- a/sound/pci/cs5535audio/cs5535audio_olpc.c
+++ b/sound/pci/cs5535audio/cs5535audio_olpc.c
@@ -43,13 +43,8 @@ static int olpc_dc_info(struct snd_kcontrol *kctl,
43 43
44static int olpc_dc_get(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *v) 44static int olpc_dc_get(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *v)
45{ 45{
46 struct cs5535audio *cs5535au = snd_kcontrol_chip(kctl); 46 v->value.integer.value[0] = geode_gpio_isset(OLPC_GPIO_MIC_AC,
47 u8 val; 47 GPIO_OUTPUT_VAL);
48
49 val = snd_ac97_read(cs5535au->ac97, AC97_AD_TEST2);
50 val >>= AC97_AD_HPFD_SHIFT;
51 v->value.integer.value[0] = val & 0x1;
52
53 return 0; 48 return 0;
54} 49}
55 50