diff mbox

ibmtr: fix tr%d in dmesg

Message ID alpine.SOC.1.00.1010022056000.27121@math.ut.ee
State Changes Requested, archived
Delegated to: David Miller
Headers show

Commit Message

Meelis Roos Oct. 2, 2010, 6:35 p.m. UTC
ibmtr and ibmtr_cs show tr%d in dmesg after alloc_netdev() but before 
register_netdev(). Fix it like e100 does - put a different name into 
dev->name until the device gets registered. I/O port seems to be unique
enough and is available for the time of printk messages. With the fix, 
dmesg shows

ibmtr@0a20: ISA P&P 16/4 Adapter/A (short) | 16/4 ISA-16 Adapter found
ibmtr@0a20: using irq 3, PIOaddr a20, 64K shared RAM.
ibmtr@0a20: Hardware address : 00:40:aa:a9:03:98
ibmtr@0a20: Shared RAM paging disabled. ti->page_mask 0
ibmtr@0a20: Maximum Receive Internet Protocol MTU 16Mbps: 16344, 4Mbps: 6104
tr0: port 0xa20, irq 3,  mmio 0xd4850000, sram 0xd0000, hwaddr=00:40:aa:a9:03:98

Signed-off-by: Meelis Roos <mroos@linux.ee>

Comments

David Miller Oct. 4, 2010, 3:56 a.m. UTC | #1
From: Meelis Roos <mroos@linux.ee>
Date: Sat, 2 Oct 2010 21:35:15 +0300 (EEST)

> ibmtr and ibmtr_cs show tr%d in dmesg after alloc_netdev() but before 
> register_netdev(). Fix it like e100 does - put a different name into 
> dev->name until the device gets registered. I/O port seems to be unique
> enough and is available for the time of printk messages. With the fix, 
> dmesg shows
> 
> ibmtr@0a20: ISA P&P 16/4 Adapter/A (short) | 16/4 ISA-16 Adapter found
> ibmtr@0a20: using irq 3, PIOaddr a20, 64K shared RAM.
> ibmtr@0a20: Hardware address : 00:40:aa:a9:03:98
> ibmtr@0a20: Shared RAM paging disabled. ti->page_mask 0
> ibmtr@0a20: Maximum Receive Internet Protocol MTU 16Mbps: 16344, 4Mbps: 6104
> tr0: port 0xa20, irq 3,  mmio 0xd4850000, sram 0xd0000, hwaddr=00:40:aa:a9:03:98
> 
> Signed-off-by: Meelis Roos <mroos@linux.ee>

That may be how e100 does it, but this is a very ugly hack and
an abuse of netdev->name

Instead, the more correct way to fit this is to use dev_info(),
dev_err(), and friends.  It will both print the correct stuff,
and also document the probing path messages that occur before
the net device is registered.

So please correct the prolem that way, thank you.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Meelis Roos Oct. 4, 2010, 9:12 p.m. UTC | #2
> Instead, the more correct way to fit this is to use dev_info(),
> dev_err(), and friends.  It will both print the correct stuff,
> and also document the probing path messages that occur before
> the net device is registered.

OK, fair enough.

I remember trying dev_info first and getting null from it. Retried, got
 (null): ISA P&P 16/4 Adapter/A (short) | 16/4 ISA-16 Adapter found

So it seems dev_info does not know about 16-bit pcmcia devices or 
buses... dev_driver_string() finds neither dev->name, dev->bus->name nor 
dev->class->name. Will dig into this some other day.
diff mbox

Patch

diff --git a/drivers/net/tokenring/ibmtr.c b/drivers/net/tokenring/ibmtr.c
index 91e6c78..5de281f 100644
--- a/drivers/net/tokenring/ibmtr.c
+++ b/drivers/net/tokenring/ibmtr.c
@@ -368,6 +368,7 @@  int __devinit ibmtr_probe_card(struct net_device *dev)
 {
 	int err = ibmtr_probe(dev);
 	if (!err) {
+		strcpy(dev->name, "tr%d");
 		err = register_netdev(dev);
 		if (err)
 			ibmtr_cleanup_card(dev);
@@ -699,6 +700,7 @@  static int __devinit ibmtr_probe1(struct net_device *dev, int PIOaddr)
 		printk(version);
 	}
 #endif /* !PCMCIA */
+	sprintf(dev->name, "ibmtr@%04x", PIOaddr);
 	DPRINTK("%s %s found\n",
 		channel_def[cardpresent - 1], adapter_def(ti->adapter_type));
 	DPRINTK("using irq %d, PIOaddr %hx, %dK shared RAM.\n",