]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/wan/lapbether.c
Merge branch 'omap-clock-fixes' of git://git.pwsan.com/linux-2.6
[linux-2.6-omap-h63xx.git] / drivers / net / wan / lapbether.c
index f85ca1b27f9a9bb6bc2a81ab9ee6c91cfad5224c..2dd78d20eb05fedde9e7bea0ca2a228e1fb2b4d1 100644 (file)
@@ -55,7 +55,6 @@ struct lapbethdev {
        struct list_head        node;
        struct net_device       *ethdev;        /* link to ethernet device */
        struct net_device       *axdev;         /* lapbeth device (lapb#) */
-       struct net_device_stats stats;          /* some statistics */
 };
 
 static LIST_HEAD(lapbeth_devices);
@@ -107,10 +106,9 @@ static int lapbeth_rcv(struct sk_buff *skb, struct net_device *dev, struct packe
        if (!netif_running(lapbeth->axdev))
                goto drop_unlock;
 
-       lapbeth->stats.rx_packets++;
-
        len = skb->data[0] + skb->data[1] * 256;
-       lapbeth->stats.rx_bytes += len;
+       dev->stats.rx_packets++;
+       dev->stats.rx_bytes += len;
 
        skb_pull(skb, 2);       /* Remove the length bytes */
        skb_trim(skb, len);     /* Set the length of the data */
@@ -210,8 +208,8 @@ static void lapbeth_data_transmit(struct net_device *ndev, struct sk_buff *skb)
        *ptr++ = size % 256;
        *ptr++ = size / 256;
 
-       lapbeth->stats.tx_packets++;
-       lapbeth->stats.tx_bytes += size;
+       ndev->stats.tx_packets++;
+       ndev->stats.tx_bytes += size;
 
        skb->dev = dev = lapbeth->ethdev;
 
@@ -254,15 +252,6 @@ static void lapbeth_disconnected(struct net_device *dev, int reason)
        netif_rx(skb);
 }
 
-/*
- *     Statistics
- */
-static struct net_device_stats *lapbeth_get_stats(struct net_device *dev)
-{
-       struct lapbethdev *lapbeth = netdev_priv(dev);
-       return &lapbeth->stats;
-}
-
 /*
  *     Set AX.25 callsign
  */
@@ -314,14 +303,17 @@ static int lapbeth_close(struct net_device *dev)
 
 /* ------------------------------------------------------------------------ */
 
+static const struct net_device_ops lapbeth_netdev_ops = {
+       .ndo_open            = lapbeth_open,
+       .ndo_stop            = lapbeth_close,
+       .ndo_start_xmit      = lapbeth_xmit,
+       .ndo_set_mac_address = lapbeth_set_mac_address,
+};
+
 static void lapbeth_setup(struct net_device *dev)
 {
-       dev->hard_start_xmit = lapbeth_xmit;
-       dev->open            = lapbeth_open;
-       dev->stop            = lapbeth_close;
+       dev->netdev_ops      = &lapbeth_netdev_ops;
        dev->destructor      = free_netdev;
-       dev->set_mac_address = lapbeth_set_mac_address;
-       dev->get_stats       = lapbeth_get_stats;
        dev->type            = ARPHRD_X25;
        dev->hard_header_len = 3;
        dev->mtu             = 1000;