[PATCH] genirq: add irq-wake (power-management) support
Enable platforms to set the irq-wake (power-management) properties of an IRQ. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: Ingo Molnar <mingo@elte.hu> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Esse commit está contido em:

commit de
Linus Torvalds

pai
7a55713ab4
commit
ba9a2331ba
@@ -133,6 +133,27 @@ void enable_irq(unsigned int irq)
|
||||
}
|
||||
EXPORT_SYMBOL(enable_irq);
|
||||
|
||||
/**
|
||||
* set_irq_wake - control irq power management wakeup
|
||||
* @irq: interrupt to control
|
||||
* @on: enable/disable power management wakeup
|
||||
*
|
||||
* Enable/disable power management wakeup mode
|
||||
*/
|
||||
int set_irq_wake(unsigned int irq, unsigned int on)
|
||||
{
|
||||
struct irq_desc *desc = irq_desc + irq;
|
||||
unsigned long flags;
|
||||
int ret = -ENXIO;
|
||||
|
||||
spin_lock_irqsave(&desc->lock, flags);
|
||||
if (desc->chip->set_wake)
|
||||
ret = desc->chip->set_wake(irq, on);
|
||||
spin_unlock_irqrestore(&desc->lock, flags);
|
||||
return ret;
|
||||
}
|
||||
EXPORT_SYMBOL(set_irq_wake);
|
||||
|
||||
/*
|
||||
* Internal function that tells the architecture code whether a
|
||||
* particular irq has been exclusively allocated or is available
|
||||
|
Referência em uma nova issue
Block a user