diff options
author | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2010-10-18 23:11:10 +0200 |
---|---|---|
committer | Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> | 2010-10-18 23:12:38 +0200 |
commit | 2c52f8d3f787ec8e39022da7d57b9f4f482ad2d0 (patch) | |
tree | eb4b225095a204d3913b547de2befae8a49c357d | |
parent | swiotlb-xen: On x86-32 builts, select SWIOTLB instead of depending on it. (diff) | |
download | linux-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.c | 7 |
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); |