[PATCH 15/17] xen: set pirq name to something useful.

Jeremy Fitzhardinge
2009-05-12T23:30:46Z

From: Gerd Hoffmann <kraxel@xeni.home.kraxel.org>

Make pirq show useful information in /proc/interrupts

[ Impact: better output in /proc/interrupts ]

Signed-off-by: Gerd Hoffmann <kraxel@xeni.home.kraxel.org>
Signed-off-by: Jeremy Fitzhardinge <jeremy.fitzhardinge@citrix.com>
---
arch/x86/xen/pci.c | 3 ++-
drivers/xen/events.c | 4 ++--
include/xen/events.h | 2 +-
3 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/arch/x86/xen/pci.c b/arch/x86/xen/pci.c
index 381b7ab..4b286f1 100644
--- a/arch/x86/xen/pci.c
+++ b/arch/x86/xen/pci.c
@@ -49,7 +49,8 @@ int xen_register_gsi(u32 gsi, int triggering, int polarity)
printk(KERN_DEBUG "xen: registering gsi %u triggering %d polarity %d\n",
gsi, triggering, polarity);

- irq = xen_allocate_pirq(gsi);
+ irq = xen_allocate_pirq(gsi, (triggering == ACPI_EDGE_SENSITIVE)
+ ? "ioapic-edge" : "ioapic-level");

printk(KERN_DEBUG "xen: --> irq=%d\n", irq);

diff --git a/drivers/xen/events.c b/drivers/xen/events.c
index e6ddf78..f84d13b 100644
--- a/drivers/xen/events.c
+++ b/drivers/xen/events.c
@@ -532,7 +532,7 @@ static int find_irq_by_gsi(unsigned gsi)
* event channel until the irq actually started up. Return an
* existing irq if we've already got one for the gsi.
*/
-int xen_allocate_pirq(unsigned gsi)
+int xen_allocate_pirq(unsigned gsi, char *name)
{
int irq;
struct physdev_irq irq_op;
@@ -554,7 +554,7 @@ int xen_allocate_pirq(unsigned gsi)
irq = find_unbound_irq();

set_irq_chip_and_handler_name(irq, &xen_pirq_chip,
- handle_level_irq, "pirq");
+ handle_level_irq, name);

irq_op.irq = irq;
if (HYPERVISOR_physdev_op(PHYSDEVOP_alloc_irq_vector, &irq_op)) {
diff --git a/include/xen/events.h b/include/xen/events.h
index 6fe4863..4b19b9c 100644
--- a/include/xen/events.h
+++ b/include/xen/events.h
@@ -61,7 +61,7 @@ unsigned irq_from_evtchn(unsigned int evtchn);
/* Allocate an irq for a physical interrupt, given a gsi. "Legacy"
GSIs are identity mapped; others are dynamically allocated as
usual. */
-int xen_allocate_pirq(unsigned gsi);
+int xen_allocate_pirq(unsigned gsi, char *name);

/* Return vector allocated to pirq */
int xen_vector_from_irq(unsigned pirq);
--
1.6.0.6