|
|
|
|
|
|
|
|
|
|
xen-changelog
[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
|
<Prev in Thread] |
Current Thread |
[Next in Thread> |
- [Xen-changelog] [xen-unstable] [IA64] create free_irq(),
Xen patchbot-unstable <=
|
|
|
|
|