manage.c (f2e5d078f7f02d4289db31f5f63e23e39914075e) manage.c (36a5df85e9a3c218b73f6cf80098016ca3f0410d)
1/*
2 * linux/kernel/irq/manage.c
3 *
4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
5 * Copyright (C) 2005-2006 Thomas Gleixner
6 *
7 * This file contains driver APIs to the irq subsystem.
8 */

--- 1510 unchanged lines hidden (view full) ---

1519 goto out;
1520 }
1521 }
1522
1523 irq_percpu_enable(desc, cpu);
1524out:
1525 irq_put_desc_unlock(desc, flags);
1526}
1/*
2 * linux/kernel/irq/manage.c
3 *
4 * Copyright (C) 1992, 1998-2006 Linus Torvalds, Ingo Molnar
5 * Copyright (C) 2005-2006 Thomas Gleixner
6 *
7 * This file contains driver APIs to the irq subsystem.
8 */

--- 1510 unchanged lines hidden (view full) ---

1519 goto out;
1520 }
1521 }
1522
1523 irq_percpu_enable(desc, cpu);
1524out:
1525 irq_put_desc_unlock(desc, flags);
1526}
1527EXPORT_SYMBOL_GPL(enable_percpu_irq);
1527
1528void disable_percpu_irq(unsigned int irq)
1529{
1530 unsigned int cpu = smp_processor_id();
1531 unsigned long flags;
1532 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, IRQ_GET_DESC_CHECK_PERCPU);
1533
1534 if (!desc)
1535 return;
1536
1537 irq_percpu_disable(desc, cpu);
1538 irq_put_desc_unlock(desc, flags);
1539}
1528
1529void disable_percpu_irq(unsigned int irq)
1530{
1531 unsigned int cpu = smp_processor_id();
1532 unsigned long flags;
1533 struct irq_desc *desc = irq_get_desc_lock(irq, &flags, IRQ_GET_DESC_CHECK_PERCPU);
1534
1535 if (!desc)
1536 return;
1537
1538 irq_percpu_disable(desc, cpu);
1539 irq_put_desc_unlock(desc, flags);
1540}
1541EXPORT_SYMBOL_GPL(disable_percpu_irq);
1540
1541/*
1542 * Internal function to unregister a percpu irqaction.
1543 */
1544static struct irqaction *__free_percpu_irq(unsigned int irq, void __percpu *dev_id)
1545{
1546 struct irq_desc *desc = irq_to_desc(irq);
1547 struct irqaction *action;

--- 144 unchanged lines hidden ---
1542
1543/*
1544 * Internal function to unregister a percpu irqaction.
1545 */
1546static struct irqaction *__free_percpu_irq(unsigned int irq, void __percpu *dev_id)
1547{
1548 struct irq_desc *desc = irq_to_desc(irq);
1549 struct irqaction *action;

--- 144 unchanged lines hidden ---