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>
This commit is contained in:
Thomas Gleixner
2009-08-20 09:41:38 +02:00
parent b3f1b617f4
commit d9112f4302
7 changed files with 22 additions and 31 deletions

View File

@@ -47,4 +47,6 @@ extern unsigned int do_IRQ(struct pt_regs *regs);
extern DECLARE_BITMAP(used_vectors, NR_VECTORS);
extern int vector_used_by_percpu_irq(unsigned int vector);
extern void init_ISA_irqs(void);
#endif /* _ASM_X86_IRQ_H */

View File

@@ -16,7 +16,6 @@
struct x86_quirks {
int (*arch_pre_time_init)(void);
int (*arch_time_init)(void);
int (*arch_pre_intr_init)(void);
int (*arch_intr_init)(void);
int (*arch_trap_init)(void);
};

View File

@@ -43,6 +43,15 @@ struct x86_init_resources {
char *(*memory_setup)(void);
};
/**
* struct x86_init_irqs - platform specific interrupt setup
* @pre_vector_init: init code to run before interrupt vectors
* are set up.
*/
struct x86_init_irqs {
void (*pre_vector_init)(void);
};
/**
* struct x86_init_ops - functions for platform specific setup
*
@@ -50,6 +59,7 @@ struct x86_init_resources {
struct x86_init_ops {
struct x86_init_resources resources;
struct x86_init_mpparse mpparse;
struct x86_init_irqs irqs;
};
extern struct x86_init_ops x86_init;