]> err.no Git - linux-2.6/commitdiff
[SPARC64]: Use more mearningful names for IRQ registry.
authorDavid S. Miller <davem@sunset.davemloft.net>
Thu, 12 Jul 2007 06:22:55 +0000 (23:22 -0700)
committerDavid S. Miller <davem@sunset.davemloft.net>
Mon, 16 Jul 2007 11:04:24 +0000 (04:04 -0700)
All of the interrupts say "LDX RX" and "LDX TX" currently
which is next to useless.  Put a device specific prefix
before "RX" and "TX" instead which makes it much more
useful.

Signed-off-by: David S. Miller <davem@davemloft.net>
arch/sparc64/kernel/ds.c
arch/sparc64/kernel/ldc.c
arch/sparc64/kernel/viohs.c
include/asm-sparc64/ldc.h

index 22517dfd021daab0c640fa9edf5488541ee2e9c2..c7ece8c52039d8baef0a8cf1698b74d8d98de0e0 100644 (file)
@@ -598,7 +598,7 @@ static int __devinit ds_probe(struct vio_dev *vdev,
        }
        dp->lp = lp;
 
-       err = ldc_bind(lp);
+       err = ldc_bind(lp, "DS");
        if (err)
                goto out_free_ldc;
 
index 4cba28685967797e4c8eee2b4a3aaf949affac2f..dbb65b674a6725349b582b4725708ca0d11416ca 100644 (file)
@@ -158,6 +158,10 @@ struct ldc_channel {
        u8                              mss;
        u8                              state;
 
+#define LDC_IRQ_NAME_MAX               32
+       char                            rx_irq_name[LDC_IRQ_NAME_MAX];
+       char                            tx_irq_name[LDC_IRQ_NAME_MAX];
+
        struct hlist_head               mh_list;
 
        struct hlist_node               list;
@@ -1226,25 +1230,31 @@ EXPORT_SYMBOL(ldc_free);
  * state.  This does not initiate a handshake, ldc_connect() does
  * that.
  */
-int ldc_bind(struct ldc_channel *lp)
+int ldc_bind(struct ldc_channel *lp, const char *name)
 {
        unsigned long hv_err, flags;
        int err = -EINVAL;
 
        spin_lock_irqsave(&lp->lock, flags);
 
+       if (!name)
+               goto out_err;
+
        if (lp->state != LDC_STATE_INIT)
                goto out_err;
 
+       snprintf(lp->rx_irq_name, LDC_IRQ_NAME_MAX, "%s RX", name);
+       snprintf(lp->tx_irq_name, LDC_IRQ_NAME_MAX, "%s TX", name);
+
        err = request_irq(lp->cfg.rx_irq, ldc_rx,
                          IRQF_SAMPLE_RANDOM | IRQF_SHARED,
-                         "LDC RX", lp);
+                         lp->rx_irq_name, lp);
        if (err)
                goto out_err;
 
        err = request_irq(lp->cfg.tx_irq, ldc_tx,
                          IRQF_SAMPLE_RANDOM | IRQF_SHARED,
-                         "LDC TX", lp);
+                         lp->tx_irq_name, lp);
        if (err)
                goto out_free_rx_irq;
 
index 3eb42e3624f37afff583089a98ef694537ca56f5..b0b1b87793429e7c0d4281b7561a4c6b108c0cd3 100644 (file)
@@ -724,7 +724,7 @@ void vio_port_up(struct vio_driver_state *vio)
 
        err = 0;
        if (state == LDC_STATE_INIT) {
-               err = ldc_bind(vio->lp);
+               err = ldc_bind(vio->lp, vio->name);
                if (err)
                        printk(KERN_WARNING "%s: Port %lu bind failed, "
                               "err=%d\n",
index 1c13738f13ffee6ad749f4f1e390ff74cf1ebd20..3c91f269f9dbeb9f4ee76c296322f0c34df72c29 100644 (file)
@@ -56,7 +56,7 @@ extern struct ldc_channel *ldc_alloc(unsigned long id,
 extern void ldc_free(struct ldc_channel *lp);
 
 /* Register TX and RX queues of the link with the hypervisor.  */
-extern int ldc_bind(struct ldc_channel *lp);
+extern int ldc_bind(struct ldc_channel *lp, const char *name);
 
 /* For non-RAW protocols we need to complete a handshake before
  * communication can proceed.  ldc_connect() does that, if the