Index: linux-2.6.15/arch/arm/mach-pxa/tosa.c
===================================================================
--- linux-2.6.15.orig/arch/arm/mach-pxa/tosa.c	2006-01-30 00:31:32.000000000 +0000
+++ linux-2.6.15/arch/arm/mach-pxa/tosa.c	2006-01-30 00:33:44.000000000 +0000
@@ -33,6 +33,7 @@
 #include <asm/mach/map.h>
 #include <asm/mach/irq.h>
 
+#include <asm/arch/audio.h>
 #include <asm/arch/pxa-regs.h>
 #include <asm/arch/irq.h>
 #include <asm/arch/tosa.h>
@@ -259,12 +260,21 @@
     .name   = "tosa-led",
     .id     = -1,
 };
-		  
+
+/*
+ * AC97
+ */
+static struct platform_device tosa_audio_device = {
+	.name		= "pxa2xx-ac97",
+	.id		= -1,
+};
+
 static struct platform_device *devices[] __initdata = {
 	&tosascoop_device,
 	&tosascoop_jc_device,
 	&tosakbd_device,
 	&tosaled_device,
+	&tosa_audio_device,
 };
 
 static void __init tosa_init(void)
@@ -285,6 +295,12 @@
 	/* enable batt_fault */
 	PMCR = 0x01;
 
+        // AC97 Disable all IRQ's
+        pxa_set_cken(CKEN2_AC97, 1);
+        GCR &= ~(GCR_CDONE_IE | GCR_SDONE_IE | GCR_SECRDY_IEN | GCR_PRIRDY_IEN | GCR_SECRES_IEN | GCR_PRIRES_IEN);
+        GSR = GSR;
+	pxa_set_cken(CKEN2_AC97, 0);
+
 	pxa_set_mci_info(&tosa_mci_platform_data);
 	pxa_set_udc_info(&udc_info);
 	pxa_set_ficp_info(&tosa_ficp_platform_data);

