ARM: imx: add platform irq type setting in gpc
Subsystems (3)
PATCH v2 1/1 ARM: imx: add platform irq type setting in gpc
From: Anson Huang <[email protected]>
GPC irq domain is a child domain of GIC, now all of platform irqs are inside GPC domain, during the module populate, all devices irq should have correct type setting in GIC, however, there is no .irq_set_type callback setting in GPC, so the irq_set_type will be skipped and cause all irqs' type in /proc/interrupt are "edge" which mismatch with irq type setting in dtb file. Since GPC has no irq type setting, so just tell kernel to use irq_chip_set_type_parent.
---
change from V1:
improve commit message.
arch/arm/mach-imx/gpc.c | 1 + 1 file changed, 1 insertion(+)
arch/arm/mach-imx/gpc.c +1 -0
@@ -176,6 +176,7 @@ static struct irq_chip imx_gpc_chip = { .irq_unmask = imx_gpc_irq_unmask, .irq_retrigger = irq_chip_retrigger_hierarchy, .irq_set_wake = imx_gpc_irq_set_wake, + .irq_set_type = irq_chip_set_type_parent,#ifdef CONFIG_SMP .irq_set_affinity = irq_chip_set_affinity_parent,#endif
Signature · 1 line
1.9.1
PATCH v2 1/1 ARM: imx: add platform irq type setting in gpc
Am Dienstag, den 20.10.2015, 18:44 +0800 schrieb Anson Huang:
Quoted 11 lines
From: Anson Huang <[email protected]>
GPC irq domain is a child domain of GIC, now all of platform irqs are inside GPC domain, during the module populate, all devices irq should have correct type setting in GIC, however, there is no .irq_set_type callback setting in GPC, so the
irq_set_typewill be skipped and cause all irqs' type in/proc/interruptare "edge" which mismatch with irq type setting in dtb file. Since GPC has no irq type setting, so just tell kernel to useirq_chip_set_type_parent.Signed-off-by Anson Huang <[email protected]>
Quoted 18 lines
---
change from V1:
improve commit message.arch/arm/mach-imx/gpc.c | 1 + 1 file changed, 1 insertion(+)arch/arm/mach-imx/gpc.c +1
-0@@ -176,6 +176,7 @@ static struct irq_chip imx_gpc_chip = { .irq_unmask = imx_gpc_irq_unmask, .irq_retrigger = irq_chip_retrigger_hierarchy, .irq_set_wake = imx_gpc_irq_set_wake, + .irq_set_type = irq_chip_set_type_parent,#ifdef CONFIG_SMP .irq_set_affinity = irq_chip_set_affinity_parent,#endif
Signature · 2 lines
Pengutronix e.K. | Lucas Stach | Industrial Linux Solutions | http://www.pengutronix.de/ |
Shawn Guo
AppliedPATCH v2 1/1 ARM: imx: add platform irq type setting in gpc
In reply to Anson HuangQuoted 11 lines · Anson Huang
From: Anson Huang <[email protected]>
GPC irq domain is a child domain of GIC, now all of platform irqs are inside GPC domain, during the module populate, all devices irq should have correct type setting in GIC, however, there is no .irq_set_type callback setting in GPC, so the
irq_set_typewill be skipped and cause all irqs' type in/proc/interruptare "edge" which mismatch with irq type setting in dtb file. Since GPC has no irq type setting, so just tell kernel to useirq_chip_set_type_parent.Signed-off-by Anson Huang <[email protected]>
Applied, thanks.