ARM: imx6: Allow GPC interrupts affinity to be changed
authorMarc Zyngier <marc.zyngier@arm.com>
Thu, 12 Mar 2015 08:40:37 +0000 (08:40 +0000)
committerShawn Guo <shawn.guo@linaro.org>
Mon, 30 Mar 2015 08:43:50 +0000 (16:43 +0800)
While converting the GPC code to a stacked irqchip, we lost the
possibility to change the CPU affinity of an interrupt routed
through the GPC.

This patch restore the expected behaviour by forwarding the
affinity setup to the underlying irqchip (GIC).

Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
Signed-off-by: Shawn Guo <shawn.guo@linaro.org>
arch/arm/mach-imx/gpc.c

index 6f1f77ed0c715fc986d46af5f7d97745c44b6d1d..5d32e35fbe4747d7e657a2975b8e12c37dd2b03f 100644 (file)
@@ -170,12 +170,15 @@ static void imx_gpc_irq_mask(struct irq_data *d)
 }
 
 static struct irq_chip imx_gpc_chip = {
-       .name           = "GPC",
-       .irq_eoi        = irq_chip_eoi_parent,
-       .irq_mask       = imx_gpc_irq_mask,
-       .irq_unmask     = imx_gpc_irq_unmask,
-       .irq_retrigger  = irq_chip_retrigger_hierarchy,
-       .irq_set_wake   = imx_gpc_irq_set_wake,
+       .name                   = "GPC",
+       .irq_eoi                = irq_chip_eoi_parent,
+       .irq_mask               = imx_gpc_irq_mask,
+       .irq_unmask             = imx_gpc_irq_unmask,
+       .irq_retrigger          = irq_chip_retrigger_hierarchy,
+       .irq_set_wake           = imx_gpc_irq_set_wake,
+#ifdef CONFIG_SMP
+       .irq_set_affinity       = irq_chip_set_affinity_parent,
+#endif
 };
 
 static int imx_gpc_domain_xlate(struct irq_domain *domain,