summaryrefslogtreecommitdiffstats
path: root/arch/ia64/kernel/irq_ia64.c
diff options
context:
space:
mode:
authorTony Luck2010-10-06 00:41:25 +0200
committerTony Luck2010-10-06 00:41:25 +0200
commit4de0a7594823d04361281e34e59f2c1108899f3e (patch)
tree5760d5a73761afaed76ce7169167a759b1e53562 /arch/ia64/kernel/irq_ia64.c
parentLinux 2.6.36-rc6 (diff)
downloadkernel-qcow2-linux-4de0a7594823d04361281e34e59f2c1108899f3e.tar.gz
kernel-qcow2-linux-4de0a7594823d04361281e34e59f2c1108899f3e.tar.xz
kernel-qcow2-linux-4de0a7594823d04361281e34e59f2c1108899f3e.zip
[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.c4
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 @@
#include <linux/bitops.h>
#include <linux/irq.h>
#include <linux/ratelimit.h>
+#include <linux/acpi.h>
#include <asm/delay.h>
#include <asm/intrinsics.h>
@@ -650,6 +651,9 @@ ia64_native_register_ipi(void)
void __init
init_IRQ (void)
{
+#ifdef CONFIG_ACPI
+ acpi_boot_init();
+#endif
ia64_register_ipi();
register_percpu_irq(IA64_SPURIOUS_INT_VECTOR, NULL);
#ifdef CONFIG_SMP