diff options
Diffstat (limited to 'kernel')
-rw-r--r-- | kernel/irq/pm.c | 35 |
1 files changed, 7 insertions, 28 deletions
diff --git a/kernel/irq/pm.c b/kernel/irq/pm.c index b1fc3ddaa82..0067abb3a9a 100644 --- a/kernel/irq/pm.c +++ b/kernel/irq/pm.c @@ -39,46 +39,25 @@ void suspend_device_irqs(void) } EXPORT_SYMBOL_GPL(suspend_device_irqs); -static void resume_irqs(bool want_early) +/** + * resume_device_irqs - enable interrupt lines disabled by suspend_device_irqs() + * + * Enable all interrupt lines previously disabled by suspend_device_irqs() that + * have the IRQ_SUSPENDED flag set. + */ +void resume_device_irqs(void) { struct irq_desc *desc; int irq; for_each_irq_desc(irq, desc) { unsigned long flags; - bool is_early = desc->action && - desc->action->flags & IRQF_EARLY_RESUME; - - if (is_early != want_early) - continue; spin_lock_irqsave(&desc->lock, flags); __enable_irq(desc, irq, true); spin_unlock_irqrestore(&desc->lock, flags); } } - -/** - * irq_pm_syscore_ops - enable interrupt lines early - * - * Enable all interrupt lines with %IRQF_EARLY_RESUME set. - */ -void irq_pm_syscore_resume(void) -{ - resume_irqs(true); -} - -/** - * resume_device_irqs - enable interrupt lines disabled by suspend_device_irqs() - * - * Enable all non-%IRQF_EARLY_RESUME interrupt lines previously - * disabled by suspend_device_irqs() that have the IRQS_SUSPENDED flag - * set as well as those with %IRQF_FORCE_RESUME. - */ -void resume_device_irqs(void) -{ - resume_irqs(false); -} EXPORT_SYMBOL_GPL(resume_device_irqs); /** |