blob: 9f338918a2b421299716c0d59bd5992efc4dde83 [file] [log] [blame]
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