aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/layerscape/patches-5.4/814-qe-0002-irqchip-qeic-merge-qeic-init-code-from-platforms-to-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/layerscape/patches-5.4/814-qe-0002-irqchip-qeic-merge-qeic-init-code-from-platforms-to-.patch')
-rw-r--r--target/linux/layerscape/patches-5.4/814-qe-0002-irqchip-qeic-merge-qeic-init-code-from-platforms-to-.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/target/linux/layerscape/patches-5.4/814-qe-0002-irqchip-qeic-merge-qeic-init-code-from-platforms-to-.patch b/target/linux/layerscape/patches-5.4/814-qe-0002-irqchip-qeic-merge-qeic-init-code-from-platforms-to-.patch
new file mode 100644
index 0000000000..73656ce900
--- /dev/null
+++ b/target/linux/layerscape/patches-5.4/814-qe-0002-irqchip-qeic-merge-qeic-init-code-from-platforms-to-.patch
@@ -0,0 +1,40 @@
+From 61c30dbddd180c5bc0d544a81970765a009f7deb Mon Sep 17 00:00:00 2001
+From: Zhao Qiang <qiang.zhao@nxp.com>
+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 <qiang.zhao@nxp.com>
+---
+ drivers/irqchip/irq-qeic.c | 11 +++++++++++
+ 1 file changed, 11 insertions(+)
+
+--- 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);