From 2c52f8d3f787ec8e39022da7d57b9f4f482ad2d0 Mon Sep 17 00:00:00 2001
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Date: Mon, 18 Oct 2010 17:11:10 -0400
Subject: [PATCH] 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>
---
 drivers/xen/events.c | 7 +++----
 1 file 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);
-- 
GitLab