From: Risto Suominen Risto.Suominen@gmail.com
Reverse headphone detection bit on PowerMac G4 Digital Audio (Tumbler).
Signed-off-by: Risto Suominen Risto.Suominen@gmail.com --- Kernel version 2.6.32.9 (probably any 2.6), ALSA 1.0.22.1.
The patch is available here, too: http://ristosu.wippiespace.com/pub/alsa-tumbler-1.0.22.1-p15.diff
--- a/alsa-kernel/ppc/tumbler.c.org 2009-12-28 16:21:33.000000000 +0200 +++ b/alsa-kernel/ppc/tumbler.c 2010-03-16 19:59:01.000000000 +0200 @@ -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