aboutsummaryrefslogtreecommitdiffstats
path: root/arch/x86/include
diff options
context:
space:
mode:
authorSebastian Andrzej Siewior <bigeasy@linutronix.de>2011-02-22 15:07:44 -0500
committerThomas Gleixner <tglx@linutronix.de>2011-02-23 16:27:54 -0500
commitbcc7c1244fcfd852b9f4590935491057e1cab9dd (patch)
tree4b68fc51466e8b42f343d6f26db0f1200d595c50 /arch/x86/include
parent9079b35364e75ce6b968a179f861d2f819f33e61 (diff)
x86: ioapic: Add OF bindings for IO_APIC
ioapic_xlate provides a translation from the information in device tree to ioapic related informations. This includes - obtaining hw irq which is the vector number "=> pin number + gsi" - obtaining type (level/edge/..) - programming this information into ioapic ioapic_add_ofnode adds an irq_domain based on informations from the device tree. This information (irq_domain) is required in order to map a device to its proper interrupt controller. [ tglx: Adapted to the io_apic changes, which let us move that whole code to devicetree.c ] Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de> Signed-off-by: Dirk Brandewie <dirk.brandewie@gmail.com> Acked-by: Grant Likely <grant.likely@secretlab.ca> Cc: sodaville@linutronix.de Cc: devicetree-discuss@lists.ozlabs.org LKML-Reference: <1298405266-1624-10-git-send-email-bigeasy@linutronix.de> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/include')
-rw-r--r--arch/x86/include/asm/prom.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/arch/x86/include/asm/prom.h b/arch/x86/include/asm/prom.h
index 8fcd519a44d..ae50131ad76 100644
--- a/arch/x86/include/asm/prom.h
+++ b/arch/x86/include/asm/prom.h
@@ -27,6 +27,7 @@
27extern int of_ioapic; 27extern 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);
30void x86_dtb_find_config(void); 31void x86_dtb_find_config(void);
31void x86_dtb_get_config(unsigned int unused); 32void x86_dtb_get_config(unsigned int unused);
32void add_interrupt_host(struct irq_domain *ih); 33void add_interrupt_host(struct irq_domain *ih);
@@ -44,6 +45,7 @@ static inline struct device_node *pci_bus_to_OF_node(struct pci_bus *bus)
44 45
45#else 46#else
46static inline void add_dtb(u64 data) { } 47static inline void add_dtb(u64 data) { }
48static inline void x86_add_irq_domains(void) { }
47static inline void x86_of_pci_init(void) { } 49static inline void x86_of_pci_init(void) { }
48#define x86_dtb_find_config x86_init_noop 50#define x86_dtb_find_config x86_init_noop
49#define x86_dtb_get_config x86_init_uint_noop 51#define x86_dtb_get_config x86_init_uint_noop