[Linux-ia64] [PATCH] 3/5 iosapic: simplify ISA IRQ init

From: Bjorn Helgaas <bjorn_helgaas_at_hp.com>
Date: 2003-02-21 05:01:44
Simplify ISA IRQ init by taking advantage of iosapic_override_isa_irq(),
which already does what we need.

diff -u -ur iosapic-3/arch/ia64/kernel/iosapic.c iosapic-4/arch/ia64/kernel/iosapic.c
--- iosapic-3/arch/ia64/kernel/iosapic.c	2003-02-18 15:24:23.000000000 -0700
+++ iosapic-4/arch/ia64/kernel/iosapic.c	2003-02-18 15:26:54.000000000 -0700
@@ -611,7 +611,7 @@
 void __devinit
 iosapic_init (unsigned long phys_addr, unsigned int gsi_base)
 {
-	int num_rte, vector;
+	int num_rte;
 	unsigned int isa_irq, ver;
 	char *addr;
 
@@ -634,26 +634,15 @@
 	       (ver & 0xf0) >> 4, (ver & 0x0f), phys_addr, gsi_base, gsi_base + num_rte - 1);
 
 	if ((gsi_base == 0) && pcat_compat) {
-		unsigned int dest = (ia64_get_lid() >> 16) & 0xffff;
 
 		/*
 		 * Map the legacy ISA devices into the IOSAPIC data.  Some of these may
 		 * get reprogrammed later on with data from the ACPI Interrupt Source
 		 * Override table.
 		 */
-		for (isa_irq = 0; isa_irq < 16; ++isa_irq) {
-			vector = isa_irq_to_vector(isa_irq);
-
-			register_intr(isa_irq, vector, IOSAPIC_LOWEST_PRIORITY,
-				     /* IOSAPIC_POL_HIGH, IOSAPIC_EDGE */
-				     1, 1);
-
-			DBG("ISA: IRQ %u -> GSI 0x%x (high,edge) -> CPU 0x%04x vector %d\n",
-			    isa_irq, isa_irq, dest, vector);
-
-			/* program the IOSAPIC routing table: */
-			set_rte(vector, dest);
-		}
+		for (isa_irq = 0; isa_irq < 16; ++isa_irq)
+			/* IOSAPIC_POL_HIGH, IOSAPIC_EDGE */
+			iosapic_override_isa_irq(isa_irq, isa_irq, 1, 1);
 	}
 }
 
Received on Thu Feb 20 10:01:52 2003

This archive was generated by hypermail 2.1.8 : 2005-08-02 09:20:12 EST