aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include/asm
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-25 10:09:31 -0500
committerThomas Gleixner <tglx@linutronix.de>2011-02-25 10:18:52 -0500
commita906fdaacca49917d83e5032dfc31f694249ad10 (patch)
tree6b00061e1db64f5f2767c129b666ee25487fd59e /arch/x86/include/asm
parent4a66b1d95ad8baf6ab884a1c64461449b463eb78 (diff)
x86: dt: Cleanup local apic setup
Up to now we force enable the local apic in the devicetree setup uncoditionally and set smp_found_config unconditionally to 1 when a devicetree blob is available. This breaks, when local apic is disabled in the Kconfig. Make it consistent by initializing device tree explicitely before smp_get_config() so a non lapic configuration could be used as well. To be functional that would require to implement PIT as an interrupt host, but the only user of this code until now is ce4100 which requires apics to be available. So we leave this up to those who need it. Tested-by: Sebastian Siewior <bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include/asm')
-rw-r--r--arch/x86/include/asm/apic.h2
-rw-r--r--arch/x86/include/asm/prom.h6
2 files changed, 3 insertions, 5 deletions
diff --git a/arch/x86/include/asm/apic.h b/arch/x86/include/asm/apic.h
index 3c896946f4c..4afe512120a 100644
--- a/arch/x86/include/asm/apic.h
+++ b/arch/x86/include/asm/apic.h
@@ -240,7 +240,7 @@ extern void setup_boot_APIC_clock(void);
240extern void setup_secondary_APIC_clock(void); 240extern void setup_secondary_APIC_clock(void);
241extern int APIC_init_uniprocessor(void); 241extern int APIC_init_uniprocessor(void);
242extern void enable_NMI_through_LVT0(void); 242extern void enable_NMI_through_LVT0(void);
243extern int apic_force_enable(void); 243extern int apic_force_enable(unsigned long addr);
244 244
245/* 245/*
246 * On 32bit this is mach-xxx local 246 * On 32bit this is mach-xxx local
diff --git a/arch/x86/include/asm/prom.h b/arch/x86/include/asm/prom.h
index f58361ba735..971e0b46446 100644
--- a/arch/x86/include/asm/prom.h
+++ b/arch/x86/include/asm/prom.h
@@ -28,9 +28,8 @@ extern int of_ioapic;
28extern u64 initial_dtb; 28extern u64 initial_dtb;
29extern void add_dtb(u64 data); 29extern void add_dtb(u64 data);
30extern void x86_add_irq_domains(void); 30extern void x86_add_irq_domains(void);
31void x86_dtb_find_config(void);
32void x86_dtb_get_config(unsigned int unused);
33void __cpuinit x86_of_pci_init(void); 31void __cpuinit x86_of_pci_init(void);
32void x86_dtb_init(void);
34 33
35static inline struct device_node *pci_device_to_OF_node(struct pci_dev *pdev) 34static inline struct device_node *pci_device_to_OF_node(struct pci_dev *pdev)
36{ 35{
@@ -46,8 +45,7 @@ static inline struct device_node *pci_bus_to_OF_node(struct pci_bus *bus)
46static inline void add_dtb(u64 data) { } 45static inline void add_dtb(u64 data) { }
47static inline void x86_add_irq_domains(void) { } 46static inline void x86_add_irq_domains(void) { }
48static inline void x86_of_pci_init(void) { } 47static inline void x86_of_pci_init(void) { }
49#define x86_dtb_find_config x86_init_noop 48static inline void x86_dtb_init(void) { }
50#define x86_dtb_get_config x86_init_uint_noop
51#define of_ioapic 0 49#define of_ioapic 0
52#endif 50#endif
53 51