summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2010-10-18 23:11:10 +0200
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>2010-10-18 23:12:38 +0200
commit2c52f8d3f787ec8e39022da7d57b9f4f482ad2d0 (patch)
treeeb4b225095a204d3913b547de2befae8a49c357d
parentswiotlb-xen: On x86-32 builts, select SWIOTLB instead of depending on it. (diff)
downloadlinux-2c52f8d3f787ec8e39022da7d57b9f4f482ad2d0.tar.xz
linux-2c52f8d3f787ec8e39022da7d57b9f4f482ad2d0.zip
x86: xen: Sanitse irq handling (part two)
Thomas Gleixner cleaned up event handling to use the sparse_irq handling, but the xen-pcifront patches utilized the old mechanism. This fixes them to work with sparse_irq handling. Signed-off-by: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
-rw-r--r--drivers/xen/events.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index 7016a734257c..3df53de6b43a 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -586,8 +586,7 @@ int xen_allocate_pirq(unsigned gsi, int shareable, char *name)
* we are using the !xen_initial_domain() to drop in the function.*/
if (identity_mapped_irq(gsi) || !xen_initial_domain()) {
irq = gsi;
- irq_to_desc_alloc_node(irq, 0);
- dynamic_irq_init(irq);
+ irq_alloc_desc_at(irq, 0);
} else
irq = find_unbound_irq();
@@ -602,7 +601,7 @@ int xen_allocate_pirq(unsigned gsi, int shareable, char *name)
* this in the priv domain. */
if (xen_initial_domain() &&
HYPERVISOR_physdev_op(PHYSDEVOP_alloc_irq_vector, &irq_op)) {
- dynamic_irq_cleanup(irq);
+ irq_free_desc(irq);
irq = -ENOSPC;
goto out;
}
@@ -629,7 +628,7 @@ int xen_destroy_irq(int irq)
irq_info[irq] = mk_unbound_info();
- dynamic_irq_cleanup(irq);
+ irq_free_desc(irq);
out:
spin_unlock(&irq_mapping_update_lock);