From b4a8333c8bf7e95d4743b9198f27cbdae6b242fc Mon Sep 17 00:00:00 2001 From: Hosung Kim Date: Thu, 8 Mar 2018 21:36:09 +0900 Subject: [PATCH] genirq: move setting GIC_MULTI_TARGET flag 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 --- kernel/irq/manage.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 1a8231a95e49..4caaa1603bc0 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -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); -- 2.20.1