aboutsummaryrefslogtreecommitdiffstats
path: root/sound/ppc
diff options
context:
space:
mode:
authorRisto Suominen <Risto.Suominen@gmail.com>2009-01-20 15:01:13 -0500
committerTakashi Iwai <tiwai@suse.de>2009-03-09 09:58:01 -0400
commitb0a8a8fd1b3bd6fbbb4b599191b859d41e12a002 (patch)
tree9ec455792cf0fbfb8387d0274f3b666b363f5e98 /sound/ppc
parentf5b1db634280ecaf3147ee996f26aad0ed4828c4 (diff)
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>
Diffstat (limited to 'sound/ppc')
-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)
767#endif /* CONFIG_PM */ 767#endif /* CONFIG_PM */
768 768
769#define IS_PM7500 (machine_is_compatible("AAPL,7500")) 769#define IS_PM7500 (machine_is_compatible("AAPL,7500"))
770#define IS_PM5500 (machine_is_compatible("AAPL,e411"))
770#define IS_BEIGE (machine_is_compatible("AAPL,Gossamer")) 771#define IS_BEIGE (machine_is_compatible("AAPL,Gossamer"))
771#define IS_IMAC1 (machine_is_compatible("PowerMac2,1")) 772#define IS_IMAC1 (machine_is_compatible("PowerMac2,1"))
772#define IS_IMAC2 (machine_is_compatible("PowerMac2,2") \ 773#define IS_IMAC2 (machine_is_compatible("PowerMac2,2") \
@@ -858,6 +859,7 @@ int __init
858snd_pmac_awacs_init(struct snd_pmac *chip) 859snd_pmac_awacs_init(struct snd_pmac *chip)
859{ 860{
860 int pm7500 = IS_PM7500; 861 int pm7500 = IS_PM7500;
862 int pm5500 = IS_PM5500;
861 int beige = IS_BEIGE; 863 int beige = IS_BEIGE;
862 int g4agp = IS_G4AGP; 864 int g4agp = IS_G4AGP;
863 int imac; 865 int imac;
@@ -915,7 +917,7 @@ snd_pmac_awacs_init(struct snd_pmac *chip)
915 /* set headphone-jack detection bit */ 917 /* set headphone-jack detection bit */
916 switch (chip->model) { 918 switch (chip->model) {
917 case PMAC_AWACS: 919 case PMAC_AWACS:
918 chip->hp_stat_mask = pm7500 ? MASK_HDPCONN 920 chip->hp_stat_mask = pm7500 || pm5500 ? MASK_HDPCONN
919 : MASK_LOCONN; 921 : MASK_LOCONN;
920 break; 922 break;
921 case PMAC_SCREAMER: 923 case PMAC_SCREAMER:
@@ -954,7 +956,7 @@ snd_pmac_awacs_init(struct snd_pmac *chip)
954 return err; 956 return err;
955 if (beige || g4agp) 957 if (beige || g4agp)
956 ; 958 ;
957 else if (chip->model == PMAC_SCREAMER) 959 else if (chip->model == PMAC_SCREAMER || pm5500)
958 err = build_mixers(chip, ARRAY_SIZE(snd_pmac_screamer_mixers2), 960 err = build_mixers(chip, ARRAY_SIZE(snd_pmac_screamer_mixers2),
959 snd_pmac_screamer_mixers2); 961 snd_pmac_screamer_mixers2);
960 else if (!pm7500) 962 else if (!pm7500)