diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2009-08-20 03:41:38 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2009-08-31 03:35:45 -0400 |
commit | d9112f43021554ded2ef2b9bea5f88ba4b52abe0 (patch) | |
tree | 40d8f33402f18af494549af8e9ee1a2f83fc2736 /arch/x86/include | |
parent | b3f1b617f49447df6c3f5fac9c225aaea8b724ea (diff) |
x86: Move pre_intr_init to x86_init_ops
Replace the quirk machinery by a x86_init_ops function which
defaults to the standard implementation. This is also a preparatory
patch for Moorestown support which needs to replace the default
init_ISA_irqs as well.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include')
-rw-r--r-- | arch/x86/include/asm/irq.h | 2 | ||||
-rw-r--r-- | arch/x86/include/asm/setup.h | 1 | ||||
-rw-r--r-- | arch/x86/include/asm/x86_init.h | 10 |
3 files changed, 12 insertions, 1 deletions
diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h index f38481bcd455..8fe2782a2537 100644 --- a/arch/x86/include/asm/irq.h +++ b/arch/x86/include/asm/irq.h | |||
@@ -47,4 +47,6 @@ extern unsigned int do_IRQ(struct pt_regs *regs); | |||
47 | extern DECLARE_BITMAP(used_vectors, NR_VECTORS); | 47 | extern DECLARE_BITMAP(used_vectors, NR_VECTORS); |
48 | extern int vector_used_by_percpu_irq(unsigned int vector); | 48 | extern int vector_used_by_percpu_irq(unsigned int vector); |
49 | 49 | ||
50 | extern void init_ISA_irqs(void); | ||
51 | |||
50 | #endif /* _ASM_X86_IRQ_H */ | 52 | #endif /* _ASM_X86_IRQ_H */ |
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h index 345a2551af90..66a319709d66 100644 --- a/arch/x86/include/asm/setup.h +++ b/arch/x86/include/asm/setup.h | |||
@@ -16,7 +16,6 @@ | |||
16 | struct x86_quirks { | 16 | struct x86_quirks { |
17 | int (*arch_pre_time_init)(void); | 17 | int (*arch_pre_time_init)(void); |
18 | int (*arch_time_init)(void); | 18 | int (*arch_time_init)(void); |
19 | int (*arch_pre_intr_init)(void); | ||
20 | int (*arch_intr_init)(void); | 19 | int (*arch_intr_init)(void); |
21 | int (*arch_trap_init)(void); | 20 | int (*arch_trap_init)(void); |
22 | }; | 21 | }; |
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h index e0d4729c9054..65e3394c77fd 100644 --- a/arch/x86/include/asm/x86_init.h +++ b/arch/x86/include/asm/x86_init.h | |||
@@ -44,12 +44,22 @@ struct x86_init_resources { | |||
44 | }; | 44 | }; |
45 | 45 | ||
46 | /** | 46 | /** |
47 | * struct x86_init_irqs - platform specific interrupt setup | ||
48 | * @pre_vector_init: init code to run before interrupt vectors | ||
49 | * are set up. | ||
50 | */ | ||
51 | struct x86_init_irqs { | ||
52 | void (*pre_vector_init)(void); | ||
53 | }; | ||
54 | |||
55 | /** | ||
47 | * struct x86_init_ops - functions for platform specific setup | 56 | * struct x86_init_ops - functions for platform specific setup |
48 | * | 57 | * |
49 | */ | 58 | */ |
50 | struct x86_init_ops { | 59 | struct x86_init_ops { |
51 | struct x86_init_resources resources; | 60 | struct x86_init_resources resources; |
52 | struct x86_init_mpparse mpparse; | 61 | struct x86_init_mpparse mpparse; |
62 | struct x86_init_irqs irqs; | ||
53 | }; | 63 | }; |
54 | 64 | ||
55 | extern struct x86_init_ops x86_init; | 65 | extern struct x86_init_ops x86_init; |