Commit 487fd4eb authored by Russell King's avatar Russell King Committed by Russell King

[ARM] Fix init printk for EBSA110 network driver, and link timer

Arrange for the initialisation printks to happen after we've
registered the network interface, so we know what name the
device is.  Also, check the link every 500ms (and use
msecs_to_jiffies.)
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent 0e3a64e2
...@@ -15,16 +15,13 @@ ...@@ -15,16 +15,13 @@
*/ */
#include <linux/kernel.h> #include <linux/kernel.h>
#include <linux/types.h> #include <linux/types.h>
#include <linux/fcntl.h>
#include <linux/interrupt.h> #include <linux/interrupt.h>
#include <linux/ioport.h> #include <linux/ioport.h>
#include <linux/in.h>
#include <linux/slab.h> #include <linux/slab.h>
#include <linux/string.h> #include <linux/string.h>
#include <linux/errno.h> #include <linux/errno.h>
#include <linux/netdevice.h> #include <linux/netdevice.h>
#include <linux/etherdevice.h> #include <linux/etherdevice.h>
#include <linux/skbuff.h>
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/init.h> #include <linux/init.h>
#include <linux/crc32.h> #include <linux/crc32.h>
...@@ -33,7 +30,6 @@ ...@@ -33,7 +30,6 @@
#include <asm/system.h> #include <asm/system.h>
#include <asm/irq.h> #include <asm/irq.h>
#include <asm/io.h> #include <asm/io.h>
#include <asm/dma.h>
#define TX_BUFFERS 15 #define TX_BUFFERS 15
#define RX_BUFFERS 25 #define RX_BUFFERS 25
...@@ -288,7 +284,7 @@ static void am79c961_timer(unsigned long data) ...@@ -288,7 +284,7 @@ static void am79c961_timer(unsigned long data)
else if (!lnkstat && carrier) else if (!lnkstat && carrier)
netif_carrier_off(dev); netif_carrier_off(dev);
mod_timer(&priv->timer, jiffies + 5*HZ); mod_timer(&priv->timer, jiffies + msecs_to_jiffies(500));
} }
/* /*
...@@ -709,13 +705,9 @@ static int __init am79c961_init(void) ...@@ -709,13 +705,9 @@ static int __init am79c961_init(void)
goto release; goto release;
am79c961_banner(); am79c961_banner();
printk(KERN_INFO "%s: ether address ", dev->name);
/* Retrive and print the ethernet address. */ for (i = 0; i < 6; i++)
for (i = 0; i < 6; i++) {
dev->dev_addr[i] = inb(dev->base_addr + i * 2) & 0xff; dev->dev_addr[i] = inb(dev->base_addr + i * 2) & 0xff;
printk (i == 5 ? "%02x\n" : "%02x:", dev->dev_addr[i]);
}
spin_lock_init(&priv->chip_lock); spin_lock_init(&priv->chip_lock);
init_timer(&priv->timer); init_timer(&priv->timer);
...@@ -736,8 +728,14 @@ static int __init am79c961_init(void) ...@@ -736,8 +728,14 @@ static int __init am79c961_init(void)
#endif #endif
ret = register_netdev(dev); ret = register_netdev(dev);
if (ret == 0) if (ret == 0) {
printk(KERN_INFO "%s: ether address ", dev->name);
for (i = 0; i < 6; i++)
printk (i == 5 ? "%02x\n" : "%02x:", dev->dev_addr[i]);
return 0; return 0;
}
release: release:
release_region(dev->base_addr, 0x18); release_region(dev->base_addr, 0x18);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment