patch-2.4.0-test7 linux/include/asm-arm/arch-cl7500/ide.h

Next file: linux/include/asm-arm/arch-cl7500/serial.h
Previous file: linux/include/asm-arm/arch-cl7500/hardware.h
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.4.0-test6/linux/include/asm-arm/arch-cl7500/ide.h linux/include/asm-arm/arch-cl7500/ide.h
@@ -7,6 +7,7 @@
  *  29-07-1998	RMK	Major re-work of IDE architecture specific code
  */
 #include <asm/irq.h>
+#include <asm/arch/hardware.h>
 
 /*
  * Set up a hw structure for a specified data port, control port and IRQ.
@@ -15,7 +16,7 @@
 static __inline__ void
 ide_init_hwif_ports(hw_regs_t *hw, int data_port, int ctrl_port, int *irq)
 {
-	ide_ioreg_t reg = (ide_ioreg_t) data_port;
+	ide_ioreg_t reg = data_port;
 	int i;
 
 	memset(hw, 0, sizeof(*hw));
@@ -24,9 +25,14 @@
 		hw->io_ports[i] = reg;
 		reg += 1;
 	}
-	hw->io_ports[IDE_CONTROL_OFFSET] = (ide_ioreg_t) ctrl_port;
-	if (irq)
+	if (ctrl_port) {
+		hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port;
+	} else {
+		hw->io_ports[IDE_CONTROL_OFFSET] = data_port + 0x206;
+	}
+	if (irq != NULL)
 		*irq = 0;
+	hw->io_ports[IDE_IRQ_OFFSET] = 0;
 }
 
 /*
@@ -36,4 +42,9 @@
 static __inline__ void
 ide_init_default_hwifs(void)
 {
+	hw_regs_t hw;
+   
+	ide_init_hwif_ports(&hw, ISASLOT_IO + 0x1f0, ISASLOT_IO + 0x3f6, NULL);
+   	hw.irq = IRQ_ISA_14;
+	ide_register_hw(&hw, NULL);
 }

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)