Skip to content

Commit

Permalink
[SPARC64]: Use more mearningful names for IRQ registry.
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
David S. Miller committed Jul 16, 2007
1 parent e450992 commit 133f09a
Show file tree
Hide file tree
Showing 4 changed files with 16 additions and 6 deletions.
2 changes: 1 addition & 1 deletion arch/sparc64/kernel/ds.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;

Expand Down
16 changes: 13 additions & 3 deletions arch/sparc64/kernel/ldc.c
Original file line number Diff line number Diff line change
Expand Up @@ -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;
Expand Down Expand Up @@ -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;

Expand Down
2 changes: 1 addition & 1 deletion arch/sparc64/kernel/viohs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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",
Expand Down
2 changes: 1 addition & 1 deletion include/asm-sparc64/ldc.h
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down

0 comments on commit 133f09a

Please sign in to comment.