diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-08-20 03:59:09 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-08-31 03:35:45 -0400 |
commit | 66bcaf0bde100a4b54b82fc6fea6ceee2212ffb4 (patch) | |
tree | 4d9e290bcf8da7e043d12f047b10ea4b6c3f33ff /arch/x86/kernel/irqinit.c | |
parent | d9112f43021554ded2ef2b9bea5f88ba4b52abe0 (diff) |
x86: Move irq_init to x86_init_ops
irq_init is overridden by x86_quirks and by paravirts. Unify the whole
mess and make it an unconditional x86_init_ops function which defaults
to the standard function and can be overridden by the early platform
code.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/kernel/irqinit.c')
-rw-r--r-- | arch/x86/kernel/irqinit.c | 12 |
1 files changed, 4 insertions, 8 deletions
diff --git a/arch/x86/kernel/irqinit.c b/arch/x86/kernel/irqinit.c index acdf088c7583..e0142cda2394 100644 --- a/arch/x86/kernel/irqinit.c +++ b/arch/x86/kernel/irqinit.c | |||
@@ -140,8 +140,10 @@ void __init init_ISA_irqs(void) | |||
140 | } | 140 | } |
141 | } | 141 | } |
142 | 142 | ||
143 | /* Overridden in paravirt.c */ | 143 | void init_IRQ(void) |
144 | void init_IRQ(void) __attribute__((weak, alias("native_init_IRQ"))); | 144 | { |
145 | x86_init.irqs.intr_init(); | ||
146 | } | ||
145 | 147 | ||
146 | static void __init smp_intr_init(void) | 148 | static void __init smp_intr_init(void) |
147 | { | 149 | { |
@@ -238,12 +240,6 @@ void __init native_init_IRQ(void) | |||
238 | 240 | ||
239 | #ifdef CONFIG_X86_32 | 241 | #ifdef CONFIG_X86_32 |
240 | /* | 242 | /* |
241 | * Call quirks after call gates are initialised (usually add in | ||
242 | * the architecture specific gates): | ||
243 | */ | ||
244 | x86_quirk_intr_init(); | ||
245 | |||
246 | /* | ||
247 | * External FPU? Set up irq13 if so, for | 243 | * External FPU? Set up irq13 if so, for |
248 | * original braindamaged IBM FERR coupling. | 244 | * original braindamaged IBM FERR coupling. |
249 | */ | 245 | */ |