diff options
author | Andres Salomon <dilinger@queued.net> | 2008-11-06 16:49:55 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2008-12-10 11:14:44 -0500 |
commit | 189d34e747e9540b70227f6682bd680868d90b10 (patch) | |
tree | 673073f24ba5846edac81491de088e280453982c /sound/pci/cs5535audio/cs5535audio_olpc.c | |
parent | 466ae3055be8665525a5613456fcb387ffef4cb7 (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.c | 9 |
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 | ||
44 | static int olpc_dc_get(struct snd_kcontrol *kctl, struct snd_ctl_elem_value *v) | 44 | static 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 | ||