x86: xen: Sanitse irq handling (part two)
authorKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 18 Oct 2010 21:11:10 +0000 (17:11 -0400)
committerKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Mon, 18 Oct 2010 21:12:38 +0000 (17:12 -0400)
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>
drivers/xen/events.c

index 7016a73..3df53de 100644 (file)
@@ -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);