diff options
author | Tony Luck <tony.luck@intel.com> | 2010-10-06 02:41:25 +0400 |
---|---|---|
committer | Tony Luck <tony.luck@intel.com> | 2010-10-06 02:41:25 +0400 |
commit | 4de0a7594823d04361281e34e59f2c1108899f3e (patch) | |
tree | 5760d5a73761afaed76ce7169167a759b1e53562 /arch/ia64/kernel/irq_ia64.c | |
parent | 899611ee7d373e5eeda08e9a8632684e1ebbbf00 (diff) | |
download | linux-4de0a7594823d04361281e34e59f2c1108899f3e.tar.xz |
[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 @@ #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 |