]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - kernel/irq/manage.c
Merge branch 'for-3.18/drivers' of git://git.kernel.dk/linux-block
[karo-tx-linux.git] / kernel / irq / manage.c
index fa564e8db996b5e32b969ed9f6c3ef9ca95c2394..0a9104b4608b8dc374769a7435b594f27a0b97ae 100644 (file)
@@ -1200,6 +1200,8 @@ __setup_irq(unsigned int irq, struct irq_desc *desc, struct irqaction *new)
        new->irq = irq;
        *old_ptr = new;
 
+       irq_pm_install_action(desc, new);
+
        /* Reset broken irq detection when installing new handler */
        desc->irq_count = 0;
        desc->irqs_unhandled = 0;
@@ -1318,6 +1320,8 @@ static struct irqaction *__free_irq(unsigned int irq, void *dev_id)
        /* Found it - now remove it from the list of entries: */
        *action_ptr = action->next;
 
+       irq_pm_remove_action(desc, action);
+
        /* If this was the last handler, shut down the IRQ line: */
        if (!desc->action) {
                irq_shutdown(desc);