summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-01-19 21:32:27 -0700
committerBin Meng <bmeng.cn@gmail.com>2016-01-24 12:07:18 +0800
commitd3b884b294f1927d6599ddb243a7e6c7bb9aaef3 (patch)
treec942eb4f11d008a6e64ee026aac1dba9e8453db7
parent12d6929e1f70da7bdbd7ac1de3db33fdff50a716 (diff)
downloadtalos-obmc-uboot-d3b884b294f1927d6599ddb243a7e6c7bb9aaef3.tar.gz
talos-obmc-uboot-d3b884b294f1927d6599ddb243a7e6c7bb9aaef3.zip
dm: x86: Add a common PIRQ init function
Most x86 interrupt drivers will want to use the standard PIRQ routing and table setup. Put this code in a common function so it can be used by those drivers that want it. Signed-off-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
-rw-r--r--arch/x86/cpu/irq.c7
-rw-r--r--arch/x86/include/asm/irq.h7
2 files changed, 13 insertions, 1 deletions
diff --git a/arch/x86/cpu/irq.c b/arch/x86/cpu/irq.c
index 8f59b23628..e2feba7b61 100644
--- a/arch/x86/cpu/irq.c
+++ b/arch/x86/cpu/irq.c
@@ -231,7 +231,7 @@ static int create_pirq_routing_table(void)
return 0;
}
-int irq_router_probe(struct udevice *dev)
+int irq_router_common_init(struct udevice *dev)
{
int ret;
@@ -249,6 +249,11 @@ int irq_router_probe(struct udevice *dev)
return 0;
}
+int irq_router_probe(struct udevice *dev)
+{
+ return irq_router_common_init(dev);
+}
+
u32 write_pirq_routing_table(u32 addr)
{
if (!pirq_routing_table)
diff --git a/arch/x86/include/asm/irq.h b/arch/x86/include/asm/irq.h
index 74da66ea12..46e1c31194 100644
--- a/arch/x86/include/asm/irq.h
+++ b/arch/x86/include/asm/irq.h
@@ -65,4 +65,11 @@ struct pirq_routing {
*/
void cpu_irq_init(void);
+/**
+ * irq_router_common_init() - Perform common x86 interrupt init
+ *
+ * This creates the PIRQ routing table and routes the IRQs
+ */
+int irq_router_common_init(struct udevice *dev);
+
#endif /* _ARCH_IRQ_H_ */
OpenPOWER on IntegriCloud