[alsa-devel] [PATCH - snd-powermac 1/5] Correct HP detection and input selectors for PMac 5500

Risto Suominen Risto.Suominen at gmail.com
Tue Jan 20 21:01:13 CET 2009


Correct headphone detection and input selectors for PowerMac 5500 (AWACS).

Signed-off-by: Risto Suominen <Risto.Suominen at gmail.com>

diff --git a/sound/ppc/awacs.c b/sound/ppc/awacs.c
index 7bd33e6..0258ccb 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)
-- 
1.5.4.3



More information about the Alsa-devel mailing list