diff options
-rw-r--r-- | kernel/irq/internals.h | 4 | ||||
-rw-r--r-- | kernel/irq/manage.c | 13 | ||||
-rw-r--r-- | kernel/irq/pm.c | 4 |
3 files changed, 11 insertions, 10 deletions
diff --git a/kernel/irq/internals.h b/kernel/irq/internals.h index 429c5e34d619..c8dd8d723ee2 100644 --- a/kernel/irq/internals.h +++ b/kernel/irq/internals.h | |||
@@ -60,8 +60,8 @@ enum { | |||
60 | #include "settings.h" | 60 | #include "settings.h" |
61 | 61 | ||
62 | extern int __irq_set_trigger(struct irq_desc *desc, unsigned long flags); | 62 | extern int __irq_set_trigger(struct irq_desc *desc, unsigned long flags); |
63 | extern void __disable_irq(struct irq_desc *desc, unsigned int irq); | 63 | extern void __disable_irq(struct irq_desc *desc); |
64 | extern void __enable_irq(struct irq_desc *desc, unsigned int irq); | 64 | extern void __enable_irq(struct irq_desc *desc); |
65 | 65 | ||
66 | extern int irq_startup(struct irq_desc *desc, bool resend); | 66 | extern int irq_startup(struct irq_desc *desc, bool resend); |
67 | extern void irq_shutdown(struct irq_desc *desc); | 67 | extern void irq_shutdown(struct irq_desc *desc); |
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 0559d9c0f658..d526ac1eb0d1 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c | |||
@@ -423,7 +423,7 @@ setup_affinity(unsigned int irq, struct irq_desc *desc, struct cpumask *mask) | |||
423 | } | 423 | } |
424 | #endif | 424 | #endif |
425 | 425 | ||
426 | void __disable_irq(struct irq_desc *desc, unsigned int irq) | 426 | void __disable_irq(struct irq_desc *desc) |
427 | { | 427 | { |
428 | if (!desc->depth++) | 428 | if (!desc->depth++) |
429 | irq_disable(desc); | 429 | irq_disable(desc); |
@@ -436,7 +436,7 @@ static int __disable_irq_nosync(unsigned int irq) | |||
436 | 436 | ||
437 | if (!desc) | 437 | if (!desc) |
438 | return -EINVAL; | 438 | return -EINVAL; |
439 | __disable_irq(desc, irq); | 439 | __disable_irq(desc); |
440 | irq_put_desc_busunlock(desc, flags); | 440 | irq_put_desc_busunlock(desc, flags); |
441 | return 0; | 441 | return 0; |
442 | } | 442 | } |
@@ -503,12 +503,13 @@ bool disable_hardirq(unsigned int irq) | |||
503 | } | 503 | } |
504 | EXPORT_SYMBOL_GPL(disable_hardirq); | 504 | EXPORT_SYMBOL_GPL(disable_hardirq); |
505 | 505 | ||
506 | void __enable_irq(struct irq_desc *desc, unsigned int irq) | 506 | void __enable_irq(struct irq_desc *desc) |
507 | { | 507 | { |
508 | switch (desc->depth) { | 508 | switch (desc->depth) { |
509 | case 0: | 509 | case 0: |
510 | err_out: | 510 | err_out: |
511 | WARN(1, KERN_WARNING "Unbalanced enable for IRQ %d\n", irq); | 511 | WARN(1, KERN_WARNING "Unbalanced enable for IRQ %d\n", |
512 | irq_desc_get_irq(desc)); | ||
512 | break; | 513 | break; |
513 | case 1: { | 514 | case 1: { |
514 | if (desc->istate & IRQS_SUSPENDED) | 515 | if (desc->istate & IRQS_SUSPENDED) |
@@ -546,7 +547,7 @@ void enable_irq(unsigned int irq) | |||
546 | KERN_ERR "enable_irq before setup/request_irq: irq %u\n", irq)) | 547 | KERN_ERR "enable_irq before setup/request_irq: irq %u\n", irq)) |
547 | goto out; | 548 | goto out; |
548 | 549 | ||
549 | __enable_irq(desc, irq); | 550 | __enable_irq(desc); |
550 | out: | 551 | out: |
551 | irq_put_desc_busunlock(desc, flags); | 552 | irq_put_desc_busunlock(desc, flags); |
552 | } | 553 | } |
@@ -1280,7 +1281,7 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new) | |||
1280 | */ | 1281 | */ |
1281 | if (shared && (desc->istate & IRQS_SPURIOUS_DISABLED)) { | 1282 | if (shared && (desc->istate & IRQS_SPURIOUS_DISABLED)) { |
1282 | desc->istate &= ~IRQS_SPURIOUS_DISABLED; | 1283 | desc->istate &= ~IRQS_SPURIOUS_DISABLED; |
1283 | __enable_irq(desc, irq); | 1284 | __enable_irq(desc); |
1284 | } | 1285 | } |
1285 | 1286 | ||
1286 | raw_spin_unlock_irqrestore(&desc->lock, flags); | 1287 | raw_spin_unlock_irqrestore(&desc->lock, flags); |
diff --git a/kernel/irq/pm.c b/kernel/irq/pm.c index d22786a6dbde..0e1c617f8d5f 100644 --- a/kernel/irq/pm.c +++ b/kernel/irq/pm.c | |||
@@ -85,7 +85,7 @@ static bool suspend_device_irq(struct irq_desc *desc, int irq) | |||
85 | } | 85 | } |
86 | 86 | ||
87 | desc->istate |= IRQS_SUSPENDED; | 87 | desc->istate |= IRQS_SUSPENDED; |
88 | __disable_irq(desc, irq); | 88 | __disable_irq(desc); |
89 | 89 | ||
90 | /* | 90 | /* |
91 | * Hardware which has no wakeup source configuration facility | 91 | * Hardware which has no wakeup source configuration facility |
@@ -150,7 +150,7 @@ static void resume_irq(struct irq_desc *desc, int irq) | |||
150 | desc->depth++; | 150 | desc->depth++; |
151 | resume: | 151 | resume: |
152 | desc->istate &= ~IRQS_SUSPENDED; | 152 | desc->istate &= ~IRQS_SUSPENDED; |
153 | __enable_irq(desc, irq); | 153 | __enable_irq(desc); |
154 | } | 154 | } |
155 | 155 | ||
156 | static void resume_irqs(bool want_early) | 156 | static void resume_irqs(bool want_early) |