pegasus: Add new device ID.
[safe/jmp/linux-2.6] / drivers / net / ariadne.c
index 29e53eb..58e8d52 100644 (file)
@@ -155,6 +155,18 @@ static struct zorro_driver ariadne_driver = {
     .remove    = __devexit_p(ariadne_remove_one),
 };
 
+static const struct net_device_ops ariadne_netdev_ops = {
+       .ndo_open               = ariadne_open,
+       .ndo_stop               = ariadne_close,
+       .ndo_start_xmit         = ariadne_start_xmit,
+       .ndo_tx_timeout         = ariadne_tx_timeout,
+       .ndo_get_stats          = ariadne_get_stats,
+       .ndo_set_multicast_list = set_multicast_list,
+       .ndo_validate_addr      = eth_validate_addr,
+       .ndo_change_mtu         = eth_change_mtu,
+       .ndo_set_mac_address    = eth_mac_addr,
+};
+
 static int __devinit ariadne_init_one(struct zorro_dev *z,
                                      const struct zorro_device_id *ent)
 {
@@ -165,7 +177,6 @@ static int __devinit ariadne_init_one(struct zorro_dev *z,
     struct net_device *dev;
     struct ariadne_private *priv;
     int err;
-    DECLARE_MAC_BUF(mac);
 
     r1 = request_mem_region(base_addr, sizeof(struct Am79C960), "Am79C960");
     if (!r1)
@@ -198,13 +209,8 @@ static int __devinit ariadne_init_one(struct zorro_dev *z,
     dev->mem_start = ZTWO_VADDR(mem_start);
     dev->mem_end = dev->mem_start+ARIADNE_RAM_SIZE;
 
-    dev->open = &ariadne_open;
-    dev->stop = &ariadne_close;
-    dev->hard_start_xmit = &ariadne_start_xmit;
-    dev->tx_timeout = &ariadne_tx_timeout;
+    dev->netdev_ops = &ariadne_netdev_ops;
     dev->watchdog_timeo = 5*HZ;
-    dev->get_stats = &ariadne_get_stats;
-    dev->set_multicast_list = &set_multicast_list;
 
     err = register_netdev(dev);
     if (err) {
@@ -215,9 +221,8 @@ static int __devinit ariadne_init_one(struct zorro_dev *z,
     }
     zorro_set_drvdata(z, dev);
 
-    printk(KERN_INFO "%s: Ariadne at 0x%08lx, Ethernet Address "
-          "%s\n", dev->name, board,
-          print_mac(mac, dev->dev_addr));
+    printk(KERN_INFO "%s: Ariadne at 0x%08lx, Ethernet Address %pM\n",
+           dev->name, board, dev->dev_addr);
 
     return 0;
 }
@@ -613,14 +618,10 @@ static int ariadne_start_xmit(struct sk_buff *skb, struct net_device *dev)
 
 #if 0
 {
-    DECLARE_MAC_BUF(mac);
-    DECLARE_MAC_BUF(mac2);
-
-    printk(KERN_DEBUG "TX pkt type 0x%04x from %s to %s "
+    printk(KERN_DEBUG "TX pkt type 0x%04x from %pM to %pM "
           " data 0x%08x len %d\n",
           ((u_short *)skb->data)[6],
-          print_mac(mac, ((const u8 *)skb->data)+6),
-          print_mac(mac, (const u8 *)skb->data),
+          skb->data + 6, skb->data,
           (int)skb->data, (int)skb->len);
 }
 #endif
@@ -743,25 +744,22 @@ static int ariadne_rx(struct net_device *dev)
            skb->protocol=eth_type_trans(skb,dev);
 #if 0
 {
-           DECLARE_MAC_BUF(mac);
-
            printk(KERN_DEBUG "RX pkt type 0x%04x from ",
                   ((u_short *)skb->data)[6]);
            {
                u_char *ptr = &((u_char *)skb->data)[6];
-               printk("%s", print_mac(mac, ptr));
+               printk("%pM", ptr);
            }
            printk(" to ");
            {
                u_char *ptr = (u_char *)skb->data;
-               printk("%s", print_mac(mac, ptr));
+               printk("%pM", ptr);
            }
            printk(" data 0x%08x len %d\n", (int)skb->data, (int)skb->len);
 }
 #endif
 
            netif_rx(skb);
-           dev->last_rx = jiffies;
            dev->stats.rx_packets++;
            dev->stats.rx_bytes += pkt_len;
        }