x86: pre init pirq_entries[]
authorYinghai Lu <yinghai@kernel.org>
Sun, 15 Feb 2009 10:54:03 +0000 (02:54 -0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 16 Feb 2009 08:36:58 +0000 (09:36 +0100)
Impact: cleanup

set default value early - this allows the removal of a number
of dynamic initialization codepaths, and an #ifdef.

Signed-off-by: Yinghai Lu <yinghai@kernel.org>
Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
arch/x86/kernel/io_apic.c

index 0b7cde3da48b362100eacf6635dafc74dd5b996c..a89878e08a4201da6457bb9666576c5bf31fe3c7 100644 (file)
@@ -813,8 +813,9 @@ static void clear_IO_APIC (void)
  */
 
 #define MAX_PIRQS 8
-static int pirq_entries [MAX_PIRQS];
-static int pirqs_enabled;
+static int pirq_entries[MAX_PIRQS] = {
+       [0 ... MAX_PIRQS - 1] = -1
+};
 
 static int __init ioapic_pirq_setup(char *str)
 {
@@ -823,10 +824,6 @@ static int __init ioapic_pirq_setup(char *str)
 
        get_options(str, ARRAY_SIZE(ints), ints);
 
-       for (i = 0; i < MAX_PIRQS; i++)
-               pirq_entries[i] = -1;
-
-       pirqs_enabled = 1;
        apic_printk(APIC_VERBOSE, KERN_INFO
                        "PIRQ redirection, working around broken MP-BIOS.\n");
        max = MAX_PIRQS;
@@ -1976,13 +1973,6 @@ void __init enable_IO_APIC(void)
        int apic;
        unsigned long flags;
 
-#ifdef CONFIG_X86_32
-       int i;
-       if (!pirqs_enabled)
-               for (i = 0; i < MAX_PIRQS; i++)
-                       pirq_entries[i] = -1;
-#endif
-
        /*
         * The number of IO-APIC IRQ registers (== #pins):
         */