ipv4: don't remove /proc/net/rt_acct
[safe/jmp/linux-2.6] / drivers / net / ne-h8300.c
index 2b85d1b..7bd6662 100644 (file)
@@ -93,7 +93,7 @@ static int __init init_reg_offset(struct net_device *dev,unsigned long base_addr
        bus_width = *(volatile unsigned char *)ABWCR;
        bus_width &= 1 << ((base_addr >> 21) & 7);
 
-       for (i = 0; i < sizeof(reg_offset) / sizeof(u32); i++)
+       for (i = 0; i < ARRAY_SIZE(reg_offset); i++)
                if (bus_width == 0)
                        reg_offset[i] = i * 2 + 1;
                else
@@ -115,7 +115,7 @@ static int h8300_ne_irq[] = {EXT_IRQ5};
 
 static inline int init_dev(struct net_device *dev)
 {
-       if (h8300_ne_count < (sizeof(h8300_ne_base) / sizeof(unsigned long))) {
+       if (h8300_ne_count < ARRAY_SIZE(h8300_ne_base)) {
                dev->base_addr = h8300_ne_base[h8300_ne_count];
                dev->irq       = h8300_ne_irq[h8300_ne_count];
                h8300_ne_count++;
@@ -167,7 +167,7 @@ static void cleanup_card(struct net_device *dev)
 #ifndef MODULE
 struct net_device * __init ne_probe(int unit)
 {
-       struct net_device *dev = ____alloc_ei_netdev(0);
+       struct net_device *dev = alloc_ei_netdev();
        int err;
 
        if (!dev)
@@ -193,6 +193,22 @@ out:
 }
 #endif
 
+static const struct net_device_ops ne_netdev_ops = {
+       .ndo_open               = ne_open,
+       .ndo_stop               = ne_close,
+
+       .ndo_start_xmit         = ei_start_xmit,
+       .ndo_tx_timeout         = ei_tx_timeout,
+       .ndo_get_stats          = ei_get_stats,
+       .ndo_set_multicast_list = ei_set_multicast_list,
+       .ndo_validate_addr      = eth_validate_addr,
+       .ndo_set_mac_address    = eth_mac_addr,
+       .ndo_change_mtu         = eth_change_mtu,
+#ifdef CONFIG_NET_POLL_CONTROLLER
+       .ndo_poll_controller    = ei_poll,
+#endif
+};
+
 static int __init ne_probe1(struct net_device *dev, int ioaddr)
 {
        int i;
@@ -296,12 +312,11 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr)
 
        dev->base_addr = ioaddr;
 
-       for(i = 0; i < ETHER_ADDR_LEN; i++) {
-               printk(" %2.2x", SA_prom[i]);
+       for(i = 0; i < ETHER_ADDR_LEN; i++)
                dev->dev_addr[i] = SA_prom[i];
-       }
+       printk(" %pM\n", dev->dev_addr);
 
-       printk("\n%s: %s found at %#x, using IRQ %d.\n",
+       printk("%s: %s found at %#x, using IRQ %d.\n",
                dev->name, name, ioaddr, dev->irq);
 
        ei_status.name = name;
@@ -320,11 +335,9 @@ static int __init ne_probe1(struct net_device *dev, int ioaddr)
        ei_status.block_output = &ne_block_output;
        ei_status.get_8390_hdr = &ne_get_8390_hdr;
        ei_status.priv = 0;
-       dev->open = &ne_open;
-       dev->stop = &ne_close;
-#ifdef CONFIG_NET_POLL_CONTROLLER
-       dev->poll_controller = __ei_poll;
-#endif
+
+       dev->netdev_ops = &ne_netdev_ops;
+
        __NS8390_init(dev, 0);
 
        ret = register_netdev(dev);
@@ -625,7 +638,7 @@ int init_module(void)
        int err;
 
        for (this_dev = 0; this_dev < MAX_NE_CARDS; this_dev++) {
-               struct net_device *dev = ____alloc_ei_netdev(0);
+               struct net_device *dev = alloc_ei_netdev();
                if (!dev)
                        break;
                if (io[this_dev]) {