| From 48a87dc2e6a146ce09787f2cf5a9b5ac605852dd Mon Sep 17 00:00:00 2001 |
| From: Risto Suominen <Risto.Suominen@gmail.com> |
| Date: Sun, 4 Apr 2010 07:59:30 +0300 |
| Subject: ALSA: powermac - Reverse HP detection on G4 DA |
| |
| From: Risto Suominen <Risto.Suominen@gmail.com> |
| |
| commit 819ef70b135ba66cd1659c913255686bf931e3d4 upstream. |
| |
| Reverse headphone detection bit on PowerMac G4 Digital Audio (Tumbler). |
| |
| Signed-off-by: Risto Suominen <Risto.Suominen@gmail.com> |
| Signed-off-by: Takashi Iwai <tiwai@suse.de> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> |
| --- |
| sound/ppc/tumbler.c | 5 ++++- |
| 1 file changed, 4 insertions(+), 1 deletion(-) |
| |
| --- a/sound/ppc/tumbler.c |
| +++ b/sound/ppc/tumbler.c |
| @@ -30,6 +30,7 @@ |
| #include <linux/kmod.h> |
| #include <linux/slab.h> |
| #include <linux/interrupt.h> |
| +#include <linux/string.h> |
| #include <sound/core.h> |
| #include <asm/io.h> |
| #include <asm/irq.h> |
| @@ -46,6 +47,8 @@ |
| #define DBG(fmt...) |
| #endif |
| |
| +#define IS_G4DA (machine_is_compatible("PowerMac3,4")) |
| + |
| /* i2c address for tumbler */ |
| #define TAS_I2C_ADDR 0x34 |
| |
| @@ -1134,7 +1137,7 @@ static long tumbler_find_device(const ch |
| gp->inactive_val = (*base) ? 0x4 : 0x5; |
| } else { |
| const u32 *prop = NULL; |
| - gp->active_state = 0; |
| + gp->active_state = IS_G4DA && !strcmp(device, "keywest-gpio15"); |
| gp->active_val = 0x4; |
| gp->inactive_val = 0x5; |
| /* Here are some crude hacks to extract the GPIO polarity and |