diff options
author | Risto Suominen <Risto.Suominen@gmail.com> | 2009-01-20 15:01:13 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2009-03-09 09:58:01 -0400 |
commit | b0a8a8fd1b3bd6fbbb4b599191b859d41e12a002 (patch) | |
tree | 9ec455792cf0fbfb8387d0274f3b666b363f5e98 /sound/ppc/awacs.c | |
parent | f5b1db634280ecaf3147ee996f26aad0ed4828c4 (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/awacs.c')
-rw-r--r-- | sound/ppc/awacs.c | 6 |
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 | |||
858 | snd_pmac_awacs_init(struct snd_pmac *chip) | 859 | snd_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) |