[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-changelog] [xen-unstable] [IA64] create free_irq()
# HG changeset patch # User Alex Williamson <alex.williamson@xxxxxx> # Date 1181591988 21600 # Node ID 51f5bea7b0d84d639a9823ddf1d27a71a869b6f4 # Parent 154878b6ec4bf58fb3a9a6c6b420097b2f4a6f1e [IA64] create free_irq() This isn't well tested, since it's not likely to get called, but it is required to build. Signed-off-by: Alex Williamson <alex.williamson@xxxxxx> --- xen/arch/ia64/xen/irq.c | 24 ++++++++++++++++++++++++ 1 files changed, 24 insertions(+) diff -r 154878b6ec4b -r 51f5bea7b0d8 xen/arch/ia64/xen/irq.c --- a/xen/arch/ia64/xen/irq.c Mon Jun 11 13:46:42 2007 -0600 +++ b/xen/arch/ia64/xen/irq.c Mon Jun 11 13:59:48 2007 -0600 @@ -281,6 +281,30 @@ int setup_irq(unsigned int irq, struct i return res; } +void free_irq(unsigned int irq) +{ + unsigned int vec; + unsigned long flags; + irq_desc_t *desc; + + /* Get vector for IRQ. */ + if (acpi_gsi_to_irq(irq, &vec) < 0) + return; + + desc = irq_descp(vec); + + spin_lock_irqsave(&desc->lock, flags); + clear_bit(vec, ia64_xen_vector); + desc->action = NULL; + desc->depth = 1; + desc->status |= IRQ_DISABLED; + desc->handler->shutdown(vec); + spin_unlock_irqrestore(&desc->lock, flags); + + while (desc->status & IRQ_INPROGRESS) + cpu_relax(); +} + /* * HANDLING OF GUEST-BOUND PHYSICAL IRQS */ _______________________________________________ Xen-changelog mailing list Xen-changelog@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-changelog
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |