aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/irq/manage.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index 5597c157442a..203a518b6f14 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -317,10 +317,7 @@ int setup_irq(unsigned int irq, struct irqaction *new)
317 } 317 }
318 318
319 *p = new; 319 *p = new;
320#if defined(CONFIG_IRQ_PER_CPU) 320
321 if (new->flags & IRQF_PERCPU)
322 desc->status |= IRQ_PER_CPU;
323#endif
324 /* Exclude IRQ from balancing */ 321 /* Exclude IRQ from balancing */
325 if (new->flags & IRQF_NOBALANCING) 322 if (new->flags & IRQF_NOBALANCING)
326 desc->status |= IRQ_NO_BALANCING; 323 desc->status |= IRQ_NO_BALANCING;
@@ -328,6 +325,11 @@ int setup_irq(unsigned int irq, struct irqaction *new)
328 if (!shared) { 325 if (!shared) {
329 irq_chip_set_defaults(desc->chip); 326 irq_chip_set_defaults(desc->chip);
330 327
328#if defined(CONFIG_IRQ_PER_CPU)
329 if (new->flags & IRQF_PERCPU)
330 desc->status |= IRQ_PER_CPU;
331#endif
332
331 /* Setup the type (level, edge polarity) if configured: */ 333 /* Setup the type (level, edge polarity) if configured: */
332 if (new->flags & IRQF_TRIGGER_MASK) { 334 if (new->flags & IRQF_TRIGGER_MASK) {
333 if (desc->chip && desc->chip->set_type) 335 if (desc->chip && desc->chip->set_type)