genirq: move setting GIC_MULTI_TARGET flag
authorHosung Kim <hosung0.kim@samsung.com>
Thu, 8 Mar 2018 12:36:09 +0000 (21:36 +0900)
committerJaehyoung Choi <jkkkkk.choi@samsung.com>
Mon, 14 May 2018 05:04:19 +0000 (14:04 +0900)
This commit moves setting the code of GIC_MULTI_TARGET flag
over to calling irq_startup function. Because of applying
genirq: Move initial affinity setup to irq_startup() by Thomas Gleixner
Patch, calling setup_affinity function was gone.
So there was no way to set affinity.

Change-Id: I68846906f35f45015ceff56450606c917fd8749d
Signed-off-by: Hosung Kim <hosung0.kim@samsung.com>
kernel/irq/manage.c

index 1a8231a95e49154ed95bdefece18c4ae4a3c5606..4caaa1603bc0ed83533a41d4c52077e019096f23 100644 (file)
@@ -1371,6 +1371,9 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
                        irqd_set(&desc->irq_data, IRQD_NO_BALANCING);
                }
 
+               if (new->flags & IRQF_GIC_MULTI_TARGET)
+                       irqd_set(&desc->irq_data, IRQD_GIC_MULTI_TARGET);
+
                if (irq_settings_can_autoenable(desc)) {
                        irq_startup(desc, IRQ_RESEND, IRQ_START_COND);
                } else {
@@ -1384,10 +1387,6 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
                        /* Undo nested disables: */
                        desc->depth = 1;
                }
-
-               if (new->flags & IRQF_GIC_MULTI_TARGET)
-                       irqd_set(&desc->irq_data, IRQD_GIC_MULTI_TARGET);
-
        } else if (new->flags & IRQF_TRIGGER_MASK) {
                unsigned int nmsk = new->flags & IRQF_TRIGGER_MASK;
                unsigned int omsk = irqd_get_trigger_type(&desc->irq_data);