From e2a1e27384b6a5edd6336cd7ab66a8d602a4151f Mon Sep 17 00:00:00 2001 From: Zhao Qiang Date: Thu, 27 Apr 2017 09:54:22 +0800 Subject: [PATCH] irqchip/qeic: merge qeic init code from platforms to a common function The codes of qe_ic init from a variety of platforms are redundant, merge them to a common function and put it to irqchip/irq-qeic.c For non-p1021_mds mpc85xx_mds boards, use "qe_ic_init(np, 0, qe_ic_cascade_low_mpic, qe_ic_cascade_high_mpic);" instead of "qe_ic_init(np, 0, qe_ic_cascade_muxed_mpic, NULL);". qe_ic_cascade_muxed_mpic was used for boards has the same interrupt number for low interrupt and high interrupt, qe_ic_init has checked if "low interrupt == high interrupt" Signed-off-by: Zhao Qiang --- drivers/irqchip/irq-qeic.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/drivers/irqchip/irq-qeic.c b/drivers/irqchip/irq-qeic.c index 8d209632aa8e..98239d899ac2 100644 --- a/drivers/irqchip/irq-qeic.c +++ b/drivers/irqchip/irq-qeic.c @@ -594,4 +594,15 @@ static int __init init_qe_ic_sysfs(void) return 0; } +static int __init qeic_of_init(struct device_node *node, + struct device_node *parent) +{ + if (!node) + return; + qe_ic_init(node, 0, qe_ic_cascade_low_mpic, + qe_ic_cascade_high_mpic); + of_node_put(node); +} + +IRQCHIP_DECLARE(qeic, "fsl,qe-ic", qeic_of_init); subsys_initcall(init_qe_ic_sysfs);