summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRisto Suominen <Risto.Suominen@gmail.com>2009-01-20 21:01:13 +0100
committerTakashi Iwai <tiwai@suse.de>2009-03-09 14:58:01 +0100
commitb0a8a8fd1b3bd6fbbb4b599191b859d41e12a002 (patch)
tree9ec455792cf0fbfb8387d0274f3b666b363f5e98
parentALSA: add snd_ctl_add_slave_uncached() (diff)
downloadlinux-b0a8a8fd1b3bd6fbbb4b599191b859d41e12a002.tar.xz
linux-b0a8a8fd1b3bd6fbbb4b599191b859d41e12a002.zip
ALSA: powermac - Correct HP detection and input selectors for PMac 5500
Correct headphone detection and input selectors for PowerMac 5500 (AWACS). Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/ppc/awacs.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/sound/ppc/awacs.c b/sound/ppc/awacs.c
index 7bd33e6552ab..0258ccb8f431 100644
--- a/sound/ppc/awacs.c
+++ b/sound/ppc/awacs.c
@@ -767,6 +767,7 @@ static void snd_pmac_awacs_resume(struct snd_pmac *chip)
#endif /* CONFIG_PM */
#define IS_PM7500 (machine_is_compatible("AAPL,7500"))
+#define IS_PM5500 (machine_is_compatible("AAPL,e411"))
#define IS_BEIGE (machine_is_compatible("AAPL,Gossamer"))
#define IS_IMAC1 (machine_is_compatible("PowerMac2,1"))
#define IS_IMAC2 (machine_is_compatible("PowerMac2,2") \
@@ -858,6 +859,7 @@ int __init
snd_pmac_awacs_init(struct snd_pmac *chip)
{
int pm7500 = IS_PM7500;
+ int pm5500 = IS_PM5500;
int beige = IS_BEIGE;
int g4agp = IS_G4AGP;
int imac;
@@ -915,7 +917,7 @@ snd_pmac_awacs_init(struct snd_pmac *chip)
/* set headphone-jack detection bit */
switch (chip->model) {
case PMAC_AWACS:
- chip->hp_stat_mask = pm7500 ? MASK_HDPCONN
+ chip->hp_stat_mask = pm7500 || pm5500 ? MASK_HDPCONN
: MASK_LOCONN;
break;
case PMAC_SCREAMER:
@@ -954,7 +956,7 @@ snd_pmac_awacs_init(struct snd_pmac *chip)
return err;
if (beige || g4agp)
;
- else if (chip->model == PMAC_SCREAMER)
+ else if (chip->model == PMAC_SCREAMER || pm5500)
err = build_mixers(chip, ARRAY_SIZE(snd_pmac_screamer_mixers2),
snd_pmac_screamer_mixers2);
else if (!pm7500)