patch-2.3.16 linux/arch/alpha/kernel/sys_rx164.c

Next file: linux/arch/alpha/kernel/sys_sable.c
Previous file: linux/arch/alpha/kernel/sys_ruffian.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.3.15/linux/arch/alpha/kernel/sys_rx164.c linux/arch/alpha/kernel/sys_rx164.c
@@ -3,7 +3,7 @@
  *
  *	Copyright (C) 1995 David A Rusling
  *	Copyright (C) 1996 Jay A Estabrook
- *	Copyright (C) 1998 Richard Henderson
+ *	Copyright (C) 1998, 1999 Richard Henderson
  *
  * Code supporting the RX164 (PCA56+POLARIS).
  */
@@ -26,9 +26,9 @@
 #include <asm/core_polaris.h>
 
 #include "proto.h"
-#include "irq.h"
-#include "bios32.h"
-#include "machvec.h"
+#include "irq_impl.h"
+#include "pci_impl.h"
+#include "machvec_impl.h"
 
 
 static void
@@ -138,6 +138,8 @@
         enable_irq(16 + 20);    /* enable ISA interrupts */
 	enable_irq(2);		/* enable cascade */
 }
+
+
 /* The RX164 changed its interrupt routing between pass1 and pass2...
  *
  * PASS1:
@@ -171,7 +173,7 @@
  */
 
 static int __init
-rx164_map_irq(struct pci_dev *dev, int slot, int pin)
+rx164_map_irq(struct pci_dev *dev, u8 slot, u8 pin)
 {
 #if 0
         char irq_tab_pass1[6][5] = {
@@ -183,7 +185,7 @@
           { 16+2, 16+2, 16+7, 16+12, 16+17},      /* IdSel 9,  slot 3 */
           { 16+1, 16+1, 16+6, 16+11, 16+16},      /* IdSel 10, slot 4 */
         };
-#endif
+#else
         char irq_tab[6][5] = {
           /*INT   INTA  INTB  INTC   INTD */
           { 16+0, 16+0, 16+6, 16+11, 16+16},      /* IdSel 5,  slot 0 */
@@ -193,20 +195,14 @@
           { 16+3, 16+3, 16+9, 16+14, 16+19},      /* IdSel 9,  slot 3 */
           { 16+4, 16+4, 16+10, 16+15, 16+5},      /* IdSel 10, PCI-PCI */
         };
+#endif
 	const long min_idsel = 5, max_idsel = 10, irqs_per_slot = 5;
+
         /* JRP - Need to figure out how to distinguish pass1 from pass2,
-         * and use the correct table...
-         */
+	   and use the correct table.  */
 	return COMMON_TABLE_LOOKUP;
 }
 
-void __init
-rx164_pci_fixup(void)
-{
-	layout_all_busses(DEFAULT_IO_BASE, DEFAULT_MEM_BASE);
-	common_pci_fixup(rx164_map_irq, common_swizzle);
-}
-
 
 /*
  * The System Vector
@@ -220,17 +216,21 @@
 	DO_POLARIS_BUS,
 	machine_check:		polaris_machine_check,
 	max_dma_address:	ALPHA_MAX_DMA_ADDRESS,
+	min_io_address:		DEFAULT_IO_BASE,
+	min_mem_address:	DEFAULT_MEM_BASE,
 
 	nr_irqs:		40,
 	irq_probe_mask:		_PROBE_MASK(40),
 	update_irq_hw:		rx164_update_irq_hw,
-	ack_irq:		generic_ack_irq,
+	ack_irq:		common_ack_irq,
 	device_interrupt:	rx164_device_interrupt,
 
 	init_arch:		polaris_init_arch,
 	init_irq:		rx164_init_irq,
-	init_pit:		generic_init_pit,
-	pci_fixup:		rx164_pci_fixup,
-	kill_arch:		generic_kill_arch,
+	init_pit:		common_init_pit,
+	init_pci:		common_init_pci,
+	kill_arch:		common_kill_arch,
+	pci_map_irq:		rx164_map_irq,
+	pci_swizzle:		common_swizzle,
 };
 ALIAS_MV(rx164)

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