summaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorThomas Gleixner2009-08-20 09:27:29 +0200
committerThomas Gleixner2009-08-27 17:12:52 +0200
commitde93410310952fb7b705f784ef22493c8362dbe8 (patch)
treeebf9925e8f78343ddb24049cc9146ead4df34661 /arch/x86/include
parentx86: Sanitize smp_record and move it to x86_init_ops (diff)
downloadkernel-qcow2-linux-de93410310952fb7b705f784ef22493c8362dbe8.tar.gz
kernel-qcow2-linux-de93410310952fb7b705f784ef22493c8362dbe8.tar.xz
kernel-qcow2-linux-de93410310952fb7b705f784ef22493c8362dbe8.zip
x86: Move ioapic_ids_setup to x86_init_ops
32bit and also the numaq code have special requirements on the ioapic_id setup. Convert it to a x86_init_ops function and get rid of the quirks and #ifdefs Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/io_apic.h3
-rw-r--r--arch/x86/include/asm/setup.h1
-rw-r--r--arch/x86/include/asm/x86_init.h2
3 files changed, 4 insertions, 2 deletions
diff --git a/arch/x86/include/asm/io_apic.h b/arch/x86/include/asm/io_apic.h
index 330ee807f89e..2b8aeb89933a 100644
--- a/arch/x86/include/asm/io_apic.h
+++ b/arch/x86/include/asm/io_apic.h
@@ -177,12 +177,13 @@ extern int setup_ioapic_entry(int apic, int irq,
int polarity, int vector, int pin);
extern void ioapic_write_entry(int apic, int pin,
struct IO_APIC_route_entry e);
+extern void setup_ioapic_ids_from_mpc(void);
#else /* !CONFIG_X86_IO_APIC */
#define io_apic_assign_pci_irqs 0
+#define setup_ioapic_ids_from_mpc x86_init_noop
static const int timer_through_8259 = 0;
static inline void ioapic_init_mappings(void) { }
static inline void ioapic_insert_resources(void) { }
-
static inline void probe_nr_irqs_gsi(void) { }
#endif
diff --git a/arch/x86/include/asm/setup.h b/arch/x86/include/asm/setup.h
index bbf2dfd59b47..cc8b4b0550ea 100644
--- a/arch/x86/include/asm/setup.h
+++ b/arch/x86/include/asm/setup.h
@@ -30,7 +30,6 @@ struct x86_quirks {
void (*mpc_oem_pci_bus)(struct mpc_bus *m);
void (*smp_read_mpc_oem)(struct mpc_oemtable *oemtable,
unsigned short oemsize);
- int (*setup_ioapic_ids)(void);
};
extern void x86_quirk_intr_init(void);
diff --git a/arch/x86/include/asm/x86_init.h b/arch/x86/include/asm/x86_init.h
index 10b297b1881a..65985730b376 100644
--- a/arch/x86/include/asm/x86_init.h
+++ b/arch/x86/include/asm/x86_init.h
@@ -4,9 +4,11 @@
/**
* struct x86_init_mpparse - platform specific mpparse ops
* @mpc_record: platform specific mpc record accounting
+ * @setup_ioapic_ids: platform specific ioapic id override
*/
struct x86_init_mpparse {
void (*mpc_record)(unsigned int mode);
+ void (*setup_ioapic_ids)(void);
};
/**