aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--kernel/irq/internals.h4
-rw-r--r--kernel/irq/manage.c13
-rw-r--r--kernel/irq/pm.c4
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
62extern int __irq_set_trigger(struct irq_desc *desc, unsigned long flags); 62extern int __irq_set_trigger(struct irq_desc *desc, unsigned long flags);
63extern void __disable_irq(struct irq_desc *desc, unsigned int irq); 63extern void __disable_irq(struct irq_desc *desc);
64extern void __enable_irq(struct irq_desc *desc, unsigned int irq); 64extern void __enable_irq(struct irq_desc *desc);
65 65
66extern int irq_startup(struct irq_desc *desc, bool resend); 66extern int irq_startup(struct irq_desc *desc, bool resend);
67extern void irq_shutdown(struct irq_desc *desc); 67extern 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
426void __disable_irq(struct irq_desc *desc, unsigned int irq) 426void __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}
504EXPORT_SYMBOL_GPL(disable_hardirq); 504EXPORT_SYMBOL_GPL(disable_hardirq);
505 505
506void __enable_irq(struct irq_desc *desc, unsigned int irq) 506void __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);
550out: 551out:
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++;
151resume: 151resume:
152 desc->istate &= ~IRQS_SUSPENDED; 152 desc->istate &= ~IRQS_SUSPENDED;
153 __enable_irq(desc, irq); 153 __enable_irq(desc);
154} 154}
155 155
156static void resume_irqs(bool want_early) 156static void resume_irqs(bool want_early)