diff options
author | Tony Luck <tony.luck@intel.com> | 2010-10-05 18:41:25 -0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2010-10-05 18:41:25 -0400 |
commit | 4de0a7594823d04361281e34e59f2c1108899f3e (patch) | |
tree | 5760d5a73761afaed76ce7169167a759b1e53562 /arch/ia64/kernel/irq_ia64.c | |
parent | 899611ee7d373e5eeda08e9a8632684e1ebbbf00 (diff) |
[IA64] Initialize interrupts later (from init_IRQ())
Thomas Gleixner is cleaning up the generic irq code, and ia64 ran
into problems because it calls register_intr() before early_irq_init()
is called. Move the call to acpi_boot_init() from setup_arch() to
init_IRQ().
As a bonus - moving the call later means we no longer need the
hacks in iosapic.c to switch between the bootmem and regular
allocator - we can just used kzalloc() for allocation.
Signed-off-by: Tony Luck <tony.luck@intel.com>
Diffstat (limited to 'arch/ia64/kernel/irq_ia64.c')
-rw-r--r-- | arch/ia64/kernel/irq_ia64.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/arch/ia64/kernel/irq_ia64.c b/arch/ia64/kernel/irq_ia64.c index f14c35f9b03a..07d4f94e40ba 100644 --- a/arch/ia64/kernel/irq_ia64.c +++ b/arch/ia64/kernel/irq_ia64.c | |||
@@ -30,6 +30,7 @@ | |||
30 | #include <linux/bitops.h> | 30 | #include <linux/bitops.h> |
31 | #include <linux/irq.h> | 31 | #include <linux/irq.h> |
32 | #include <linux/ratelimit.h> | 32 | #include <linux/ratelimit.h> |
33 | #include <linux/acpi.h> | ||
33 | 34 | ||
34 | #include <asm/delay.h> | 35 | #include <asm/delay.h> |
35 | #include <asm/intrinsics.h> | 36 | #include <asm/intrinsics.h> |
@@ -650,6 +651,9 @@ ia64_native_register_ipi(void) | |||
650 | void __init | 651 | void __init |
651 | init_IRQ (void) | 652 | init_IRQ (void) |
652 | { | 653 | { |
654 | #ifdef CONFIG_ACPI | ||
655 | acpi_boot_init(); | ||
656 | #endif | ||
653 | ia64_register_ipi(); | 657 | ia64_register_ipi(); |
654 | register_percpu_irq(IA64_SPURIOUS_INT_VECTOR, NULL); | 658 | register_percpu_irq(IA64_SPURIOUS_INT_VECTOR, NULL); |
655 | #ifdef CONFIG_SMP | 659 | #ifdef CONFIG_SMP |