
From: Ralf Baechle <ralf@linux-mips.org>

Get the Jazz platform back to build and mostly working.

Signed-off-by: Andrew Morton <akpm@osdl.org>
---

 25-akpm/arch/mips/Kconfig           |    4 +++
 25-akpm/arch/mips/jazz/irq.c        |    2 -
 25-akpm/arch/mips/jazz/jazzdma.c    |    2 -
 25-akpm/drivers/input/serio/i8042.h |    2 -
 25-akpm/drivers/scsi/jazz_esp.c     |   46 ++++++++++++++++++++++++++----------
 25-akpm/drivers/video/Kconfig       |    7 +++++
 25-akpm/drivers/video/g364fb.c      |    1 
 7 files changed, 49 insertions(+), 15 deletions(-)

diff -puN arch/mips/jazz/irq.c~mips-jazz-updates arch/mips/jazz/irq.c
--- 25/arch/mips/jazz/irq.c~mips-jazz-updates	2005-01-29 11:26:06.116818024 -0800
+++ 25-akpm/arch/mips/jazz/irq.c	2005-01-29 11:26:06.128816200 -0800
@@ -17,7 +17,7 @@
 
 extern asmlinkage void jazz_handle_int(void);
 
-static spinlock_t r4030_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(r4030_lock);
 
 static void enable_r4030_irq(unsigned int irq)
 {
diff -puN arch/mips/jazz/jazzdma.c~mips-jazz-updates arch/mips/jazz/jazzdma.c
--- 25/arch/mips/jazz/jazzdma.c~mips-jazz-updates	2005-01-29 11:26:06.117817872 -0800
+++ 25-akpm/arch/mips/jazz/jazzdma.c	2005-01-29 11:26:06.129816048 -0800
@@ -29,7 +29,7 @@
 
 static unsigned long vdma_pagetable_start;
 
-static spinlock_t vdma_lock = SPIN_LOCK_UNLOCKED;
+static DEFINE_SPINLOCK(vdma_lock);
 
 /*
  * Debug stuff
diff -puN arch/mips/Kconfig~mips-jazz-updates arch/mips/Kconfig
--- 25/arch/mips/Kconfig~mips-jazz-updates	2005-01-29 11:26:06.119817568 -0800
+++ 25-akpm/arch/mips/Kconfig	2005-01-29 11:26:06.130815896 -0800
@@ -29,6 +29,10 @@ menu "Machine selection"
 
 config MACH_JAZZ
 	bool "Support for the Jazz family of machines"
+	select ARC
+	select ARC32
+	select GENERIC_ISA_DMA
+	select I8259
 	select ISA
 	help
 	 This a family of machines based on the MIPS R4030 chipset which was
diff -puN drivers/input/serio/i8042.h~mips-jazz-updates drivers/input/serio/i8042.h
--- 25/drivers/input/serio/i8042.h~mips-jazz-updates	2005-01-29 11:26:06.120817416 -0800
+++ 25-akpm/drivers/input/serio/i8042.h	2005-01-29 11:26:06.131815744 -0800
@@ -15,7 +15,7 @@
  * Arch-dependent inline functions and defines.
  */
 
-#if defined(CONFIG_MIPS_JAZZ)
+#if defined(CONFIG_MACH_JAZZ)
 #include "i8042-jazzio.h"
 #elif defined(CONFIG_SGI_IP22)
 #include "i8042-ip22io.h"
diff -puN drivers/scsi/jazz_esp.c~mips-jazz-updates drivers/scsi/jazz_esp.c
--- 25/drivers/scsi/jazz_esp.c~mips-jazz-updates	2005-01-29 11:26:06.122817112 -0800
+++ 25-akpm/drivers/scsi/jazz_esp.c	2005-01-29 11:26:06.131815744 -0800
@@ -52,6 +52,40 @@ static volatile unsigned char cmd_buffer
 				 * via PIO.
 				 */
 
+int jazz_esp_detect(Scsi_Host_Template *tpnt);
+static int jazz_esp_release(struct Scsi_Host *shost)
+{
+	if (shost->irq)
+		free_irq(shost->irq, NULL);
+	if (shost->dma_channel != 0xff)
+		free_dma(shost->dma_channel);
+	if (shost->io_port && shost->n_io_port)
+		release_region(shost->io_port, shost->n_io_port);
+	scsi_unregister(shost);
+	return 0;
+}
+
+static Scsi_Host_Template driver_template = {
+	.proc_name		= "jazz_esp",
+	.proc_info		= &esp_proc_info,
+	.name			= "ESP 100/100a/200",
+	.detect			= jazz_esp_detect,
+	.slave_alloc		= esp_slave_alloc,
+	.slave_destroy		= esp_slave_destroy,
+	.release		= jazz_esp_release,
+	.info			= esp_info,
+	.queuecommand		= esp_queue,
+	.eh_abort_handler	= esp_abort,
+	.eh_bus_reset_handler	= esp_reset,
+	.can_queue		= 7,
+	.this_id		= 7,
+	.sg_tablesize		= SG_ALL,
+	.cmd_per_lun		= 1,
+	.use_clustering		= DISABLE_CLUSTERING,
+};
+
+#include "scsi_module.c"
+
 /***************************************************************** Detection */
 static int jazz_esp_detect(struct scsi_host_template *tpnt)
 {
@@ -140,18 +174,6 @@ static int jazz_esp_detect(struct scsi_h
     return 0;
 }
 
-static int jazz_esp_release(struct Scsi_Host *shost)
-{
-	if (shost->irq)
-		free_irq(shost->irq, NULL);
-	if (shost->dma_channel != 0xff)
-		free_dma(shost->dma_channel);
-	if (shost->io_port && shost->n_io_port)
-		release_region(shost->io_port, shost->n_io_port);
-	scsi_unregister(shost);
-	return 0;
-}
-
 /************************************************************* DMA Functions */
 static int dma_bytes_sent(struct NCR_ESP *esp, int fifo_count)
 {
diff -puN drivers/video/g364fb.c~mips-jazz-updates drivers/video/g364fb.c
--- 25/drivers/video/g364fb.c~mips-jazz-updates	2005-01-29 11:26:06.123816960 -0800
+++ 25-akpm/drivers/video/g364fb.c	2005-01-29 11:26:06.132815592 -0800
@@ -15,6 +15,7 @@
  */
 
 #include <linux/module.h>
+#include <linux/console.h>
 #include <linux/sched.h>
 #include <linux/kernel.h>
 #include <linux/errno.h>
diff -puN drivers/video/Kconfig~mips-jazz-updates drivers/video/Kconfig
--- 25/drivers/video/Kconfig~mips-jazz-updates	2005-01-29 11:26:06.125816656 -0800
+++ 25-akpm/drivers/video/Kconfig	2005-01-29 11:26:06.200805256 -0800
@@ -1053,6 +1053,13 @@ config FB_TX3912
 
 	  Say Y here to enable kernel support for the on-board framebuffer.
 
+config FB_G364
+	bool
+	depends on MIPS_MAGNUM_4000 || OLIVETTI_M700
+	help
+	  The G364 driver is the framebuffer used in MIPS Magnum 4000 and
+	  Olivetti M700-10 systems.
+
 config FB_68328
 	bool "Motorola 68328 native frame buffer support"
 	depends on (M68328 || M68EZ328 || M68VZ328)
_
