All of lore.kernel.org
 help / color / mirror / Atom feed
* [patch 06/45] netrom: convert to internal net_device_stats
       [not found] <20090109230057.575650817@linux-foundation.org>
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-10 12:54   ` Ralf Baechle DL5RB
  2009-01-09 23:01 ` [patch 07/45] netrom: convert to net_device_ops Stephen Hemminger
                   ` (17 subsequent siblings)
  18 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, Ralf Baechle; +Cc: netdev, linux-hams

[-- Attachment #1: netrom-stats.patch --]
[-- Type: text/plain, Size: 2331 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

---
 include/net/netrom.h   |    4 ----
 net/netrom/af_netrom.c |    2 +-
 net/netrom/nr_dev.c    |   14 ++------------
 3 files changed, 3 insertions(+), 17 deletions(-)

--- a/net/netrom/af_netrom.c	2009-01-09 13:37:29.000000000 -0800
+++ b/net/netrom/af_netrom.c	2009-01-09 13:37:46.000000000 -0800
@@ -1432,7 +1432,7 @@ static int __init nr_proto_init(void)
 		struct net_device *dev;
 
 		sprintf(name, "nr%d", i);
-		dev = alloc_netdev(sizeof(struct nr_private), name, nr_setup);
+		dev = alloc_netdev(0, name, nr_setup);
 		if (!dev) {
 			printk(KERN_ERR "NET/ROM: nr_proto_init - unable to allocate device structure\n");
 			goto fail;
--- a/include/net/netrom.h	2009-01-09 13:37:29.000000000 -0800
+++ b/include/net/netrom.h	2009-01-09 13:37:31.000000000 -0800
@@ -59,10 +59,6 @@ enum {
 #define NR_MAX_WINDOW_SIZE		127			/* Maximum Window Allowable - 127 */
 #define	NR_MAX_PACKET_SIZE		236			/* Maximum Packet Length - 236 */
 
-struct nr_private {
-	struct net_device_stats	stats;
-};
-
 struct nr_sock {
 	struct sock		sock;
 	ax25_address		user_addr, source_addr, dest_addr;
--- a/net/netrom/nr_dev.c	2009-01-09 13:37:29.000000000 -0800
+++ b/net/netrom/nr_dev.c	2009-01-09 13:52:57.000000000 -0800
@@ -42,7 +42,7 @@
 
 int nr_rx_ip(struct sk_buff *skb, struct net_device *dev)
 {
-	struct net_device_stats *stats = netdev_priv(dev);
+	struct net_device_stats *stats = &dev->stats;
 
 	if (!netif_running(dev)) {
 		stats->rx_dropped++;
@@ -171,8 +171,7 @@ static int nr_close(struct net_device *d
 
 static int nr_xmit(struct sk_buff *skb, struct net_device *dev)
 {
-	struct nr_private *nr = netdev_priv(dev);
-	struct net_device_stats *stats = &nr->stats;
+	struct net_device_stats *stats = &dev->stats;
 	unsigned int len = skb->len;
 
 	if (!nr_route_frame(skb, NULL)) {
@@ -187,13 +186,6 @@ static int nr_xmit(struct sk_buff *skb, 
 	return 0;
 }
 
-static struct net_device_stats *nr_get_stats(struct net_device *dev)
-{
-	struct nr_private *nr = netdev_priv(dev);
-
-	return &nr->stats;
-}
-
 static const struct header_ops nr_header_ops = {
 	.create	= nr_header,
 	.rebuild= nr_rebuild_header,
@@ -215,6 +207,4 @@ void nr_setup(struct net_device *dev)
 
 	/* New-style flags. */
 	dev->flags		= IFF_NOARP;
-
-	dev->get_stats 		= nr_get_stats;
 }



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 07/45] netrom: convert to net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
  2009-01-09 23:01 ` [patch 06/45] netrom: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-10 12:55   ` Ralf Baechle DL5RB
  2009-01-09 23:01 ` [patch 08/45] rose: convert to internal net_device_stats Stephen Hemminger
                   ` (16 subsequent siblings)
  18 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, Ralf Baechle; +Cc: netdev, linux-hams

[-- Attachment #1: netrom-netdev.patch --]
[-- Type: text/plain, Size: 1119 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

---
 include/net/netrom.h   |    4 ----
 net/netrom/af_netrom.c |    4 ++--
 net/netrom/nr_dev.c    |   26 +++++++++-----------------
 3 files changed, 11 insertions(+), 23 deletions(-)

--- a/net/netrom/nr_dev.c	2009-01-09 13:35:18.000000000 -0800
+++ b/net/netrom/nr_dev.c	2009-01-09 13:36:18.000000000 -0800
@@ -191,19 +191,21 @@ static const struct header_ops nr_header
 	.rebuild= nr_rebuild_header,
 };
 
+static const struct net_device_ops nr_netdev_ops = {
+	.ndo_open		= nr_open,
+	.ndo_stop		= nr_close,
+	.ndo_start_xmit		= nr_xmit,
+	.ndo_set_mac_address    = nr_set_mac_address,
+};
 
 void nr_setup(struct net_device *dev)
 {
 	dev->mtu		= NR_MAX_PACKET_SIZE;
-	dev->hard_start_xmit	= nr_xmit;
-	dev->open		= nr_open;
-	dev->stop		= nr_close;
-
+	dev->netdev_ops		= &nr_netdev_ops;
 	dev->header_ops		= &nr_header_ops;
 	dev->hard_header_len	= NR_NETWORK_LEN + NR_TRANSPORT_LEN;
 	dev->addr_len		= AX25_ADDR_LEN;
 	dev->type		= ARPHRD_NETROM;
-	dev->set_mac_address    = nr_set_mac_address;
 
 	/* New-style flags. */
 	dev->flags		= IFF_NOARP;



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 08/45] rose: convert to internal net_device_stats
       [not found] <20090109230057.575650817@linux-foundation.org>
  2009-01-09 23:01 ` [patch 06/45] netrom: convert to internal net_device_stats Stephen Hemminger
  2009-01-09 23:01 ` [patch 07/45] netrom: convert to net_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-10 12:55   ` Ralf Baechle DL5RB
  2009-01-09 23:01 ` [patch 09/45] rose: convert to network_device_ops Stephen Hemminger
                   ` (15 subsequent siblings)
  18 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, Ralf Baechle; +Cc: netdev, linux-hams

[-- Attachment #1: rose-stats.patch --]
[-- Type: text/plain, Size: 1756 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/net/rose/af_rose.c	2009-01-09 13:39:17.000000000 -0800
+++ b/net/rose/af_rose.c	2009-01-09 13:39:34.000000000 -0800
@@ -1587,8 +1587,7 @@ static int __init rose_proto_init(void)
 		char name[IFNAMSIZ];
 
 		sprintf(name, "rose%d", i);
-		dev = alloc_netdev(sizeof(struct net_device_stats),
-				   name, rose_setup);
+		dev = alloc_netdev(0, name, rose_setup);
 		if (!dev) {
 			printk(KERN_ERR "ROSE: rose_proto_init - unable to allocate memory\n");
 			rc = -ENOMEM;
--- a/net/rose/rose_dev.c	2009-01-09 13:39:17.000000000 -0800
+++ b/net/rose/rose_dev.c	2009-01-09 13:52:51.000000000 -0800
@@ -57,7 +57,7 @@ static int rose_rebuild_header(struct sk
 {
 #ifdef CONFIG_INET
 	struct net_device *dev = skb->dev;
-	struct net_device_stats *stats = netdev_priv(dev);
+	struct net_device_stats *stats = &dev->stats;
 	unsigned char *bp = (unsigned char *)skb->data;
 	struct sk_buff *skbn;
 	unsigned int len;
@@ -133,7 +133,7 @@ static int rose_close(struct net_device 
 
 static int rose_xmit(struct sk_buff *skb, struct net_device *dev)
 {
-	struct net_device_stats *stats = netdev_priv(dev);
+	struct net_device_stats *stats = &dev->stats;
 
 	if (!netif_running(dev)) {
 		printk(KERN_ERR "ROSE: rose_xmit - called when iface is down\n");
@@ -144,11 +144,6 @@ static int rose_xmit(struct sk_buff *skb
 	return 0;
 }
 
-static struct net_device_stats *rose_get_stats(struct net_device *dev)
-{
-	return netdev_priv(dev);
-}
-
 static const struct header_ops rose_header_ops = {
 	.create	= rose_header,
 	.rebuild= rose_rebuild_header,
@@ -169,5 +164,4 @@ void rose_setup(struct net_device *dev)
 
 	/* New-style flags. */
 	dev->flags		= IFF_NOARP;
-	dev->get_stats = rose_get_stats;
 }



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 09/45] rose: convert to network_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (2 preceding siblings ...)
  2009-01-09 23:01 ` [patch 08/45] rose: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-10 12:55   ` Ralf Baechle DL5RB
  2009-01-09 23:01 ` [patch 31/45] 6pack: convert to net_device_ops Stephen Hemminger
                   ` (14 subsequent siblings)
  18 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, Ralf Baechle; +Cc: netdev, linux-hams

[-- Attachment #1: rose-netdev.patch --]
[-- Type: text/plain, Size: 986 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/net/rose/rose_dev.c	2009-01-09 13:39:57.000000000 -0800
+++ b/net/rose/rose_dev.c	2009-01-09 13:40:29.000000000 -0800
@@ -149,18 +149,22 @@ static const struct header_ops rose_head
 	.rebuild= rose_rebuild_header,
 };
 
+static const struct net_device_ops rose_netdev_ops = {
+	.ndo_open		= rose_open,
+	.ndo_stop		= rose_close,
+	.ndo_start_xmit		= rose_xmit,
+	.ndo_set_mac_address    = rose_set_mac_address,
+};
+
 void rose_setup(struct net_device *dev)
 {
 	dev->mtu		= ROSE_MAX_PACKET_SIZE - 2;
-	dev->hard_start_xmit	= rose_xmit;
-	dev->open		= rose_open;
-	dev->stop		= rose_close;
+	dev->netdev_ops		= &rose_netdev_ops;
 
 	dev->header_ops		= &rose_header_ops;
 	dev->hard_header_len	= AX25_BPQ_HEADER_LEN + AX25_MAX_HEADER_LEN + ROSE_MIN_LEN;
 	dev->addr_len		= ROSE_ADDR_LEN;
 	dev->type		= ARPHRD_ROSE;
-	dev->set_mac_address    = rose_set_mac_address;
 
 	/* New-style flags. */
 	dev->flags		= IFF_NOARP;



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 31/45] 6pack: convert to net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (3 preceding siblings ...)
  2009-01-09 23:01 ` [patch 09/45] rose: convert to network_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 32/45] baycom: convert to internal net_device_stats Stephen Hemminger
                   ` (13 subsequent siblings)
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, ajk; +Cc: netdev, linux-hams

[-- Attachment #1: 6pack.patch --]
[-- Type: text/plain, Size: 1136 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/hamradio/6pack.c	2009-01-09 10:16:50.000000000 -0800
+++ b/drivers/net/hamradio/6pack.c	2009-01-09 10:17:52.000000000 -0800
@@ -322,23 +322,25 @@ static const struct header_ops sp_header
 	.rebuild	= sp_rebuild_header,
 };
 
+static const struct net_device_ops sp_netdev_ops = {
+	.ndo_open		= sp_open_dev,
+	.ndo_stop		= sp_close,
+	.ndo_start_xmit		= sp_xmit,
+	.ndo_set_mac_address    = sp_set_mac_address,
+};
+
 static void sp_setup(struct net_device *dev)
 {
 	/* Finish setting up the DEVICE info. */
-	dev->mtu		= SIXP_MTU;
-	dev->hard_start_xmit	= sp_xmit;
-	dev->open		= sp_open_dev;
+	dev->netdev_ops		= &sp_netdev_ops;
 	dev->destructor		= free_netdev;
-	dev->stop		= sp_close;
-
-	dev->set_mac_address    = sp_set_mac_address;
+	dev->mtu		= SIXP_MTU;
 	dev->hard_header_len	= AX25_MAX_HEADER_LEN;
 	dev->header_ops 	= &sp_header_ops;
 
 	dev->addr_len		= AX25_ADDR_LEN;
 	dev->type		= ARPHRD_AX25;
 	dev->tx_queue_len	= 10;
-	dev->tx_timeout		= NULL;
 
 	/* Only activated in AX.25 mode */
 	memcpy(dev->broadcast, &ax25_bcast, AX25_ADDR_LEN);



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 32/45] baycom: convert to internal net_device_stats
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (4 preceding siblings ...)
  2009-01-09 23:01 ` [patch 31/45] 6pack: convert to net_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-10  0:03   ` Thomas Sailer
  2009-01-09 23:01 ` [patch 33/45] baycom: convert to net_device_ops Stephen Hemminger
                   ` (12 subsequent siblings)
  18 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, t.sailer; +Cc: netdev, linux-hams

[-- Attachment #1: baycom-stats.patch --]
[-- Type: text/plain, Size: 2810 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/hamradio/baycom_epp.c	2009-01-09 10:16:50.000000000 -0800
+++ b/drivers/net/hamradio/baycom_epp.c	2009-01-09 10:22:45.000000000 -0800
@@ -203,7 +203,6 @@ struct baycom_state {
 		unsigned char buf[TXBUFFER_SIZE];
         } hdlctx;
 
-        struct net_device_stats stats;
 	unsigned int ptt_keyed;
 	struct sk_buff *skb;  /* next transmit packet  */
 
@@ -423,7 +422,7 @@ static void encode_hdlc(struct baycom_st
 	bc->hdlctx.bufptr = bc->hdlctx.buf;
 	bc->hdlctx.bufcnt = wp - bc->hdlctx.buf;
 	dev_kfree_skb(skb);
-	bc->stats.tx_packets++;
+	bc->dev->stats.tx_packets++;
 }
 
 /* ---------------------------------------------------------------------- */
@@ -547,7 +546,7 @@ static void do_rxpacket(struct net_devic
 	pktlen = bc->hdlcrx.bufcnt-2+1; /* KISS kludge */
 	if (!(skb = dev_alloc_skb(pktlen))) {
 		printk("%s: memory squeeze, dropping packet\n", dev->name);
-		bc->stats.rx_dropped++;
+		dev->stats.rx_dropped++;
 		return;
 	}
 	cp = skb_put(skb, pktlen);
@@ -555,7 +554,7 @@ static void do_rxpacket(struct net_devic
 	memcpy(cp, bc->hdlcrx.buf, pktlen - 1);
 	skb->protocol = ax25_type_trans(skb, dev);
 	netif_rx(skb);
-	bc->stats.rx_packets++;
+	dev->stats.rx_packets++;
 }
 
 static int receive(struct net_device *dev, int cnt)
@@ -802,19 +801,6 @@ static int baycom_set_mac_address(struct
 
 /* --------------------------------------------------------------------- */
 
-static struct net_device_stats *baycom_get_stats(struct net_device *dev)
-{
-	struct baycom_state *bc = netdev_priv(dev);
-
-	/* 
-	 * Get the current statistics.  This may be called with the
-	 * card open or closed. 
-	 */
-	return &bc->stats;
-}
-
-/* --------------------------------------------------------------------- */
-
 static void epp_wakeup(void *handle)
 {
         struct net_device *dev = (struct net_device *)handle;
@@ -1065,10 +1051,10 @@ static int baycom_ioctl(struct net_devic
 		hi.data.cs.ptt = !!(bc->stat & EPP_PTTBIT);
 		hi.data.cs.dcd = !(bc->stat & EPP_DCDBIT);
 		hi.data.cs.ptt_keyed = bc->ptt_keyed;
-		hi.data.cs.tx_packets = bc->stats.tx_packets;
-		hi.data.cs.tx_errors = bc->stats.tx_errors;
-		hi.data.cs.rx_packets = bc->stats.rx_packets;
-		hi.data.cs.rx_errors = bc->stats.rx_errors;
+		hi.data.cs.tx_packets = dev->stats.tx_packets;
+		hi.data.cs.tx_errors = dev->stats.tx_errors;
+		hi.data.cs.rx_packets = dev->stats.rx_packets;
+		hi.data.cs.rx_errors = dev->stats.rx_errors;
 		break;		
 
 	case HDLCDRVCTL_OLDGETSTAT:
@@ -1147,7 +1133,6 @@ static void baycom_probe(struct net_devi
 	dev->stop = epp_close;
 	dev->do_ioctl = baycom_ioctl;
 	dev->hard_start_xmit = baycom_send_packet;
-	dev->get_stats = baycom_get_stats;
 
 	/* Fill in the fields of the device structure */
 	bc->skb = NULL;



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 33/45] baycom: convert to net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (5 preceding siblings ...)
  2009-01-09 23:01 ` [patch 32/45] baycom: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-10  0:03   ` Thomas Sailer
  2009-01-09 23:01 ` [patch 34/45] bpqether: convert to internal net_device_stats Stephen Hemminger
                   ` (11 subsequent siblings)
  18 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, t.sailer; +Cc: netdev, linux-hams

[-- Attachment #1: baycom-netdev.patch --]
[-- Type: text/plain, Size: 1314 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/hamradio/baycom_epp.c	2009-01-09 10:22:45.000000000 -0800
+++ b/drivers/net/hamradio/baycom_epp.c	2009-01-09 10:42:00.000000000 -0800
@@ -1102,6 +1102,14 @@ static int baycom_ioctl(struct net_devic
 
 /* --------------------------------------------------------------------- */
 
+static const struct net_device_ops baycom_netdev_ops = {
+	.ndo_open	     = epp_open,
+	.ndo_stop	     = epp_close,
+	.ndo_do_ioctl	     = baycom_ioctl,
+	.ndo_start_xmit      = baycom_send_packet,
+	.ndo_set_mac_address = baycom_set_mac_address,
+};
+
 /*
  * Check for a network adaptor of this type, and return '0' if one exists.
  * If dev->base_addr == 0, probe all likely locations.
@@ -1129,16 +1137,12 @@ static void baycom_probe(struct net_devi
 	/*
 	 * initialize the device struct
 	 */
-	dev->open = epp_open;
-	dev->stop = epp_close;
-	dev->do_ioctl = baycom_ioctl;
-	dev->hard_start_xmit = baycom_send_packet;
 
 	/* Fill in the fields of the device structure */
 	bc->skb = NULL;
 	
+	dev->netdev_ops = &baycom_netdev_ops;
 	dev->header_ops = &ax25_header_ops;
-	dev->set_mac_address = baycom_set_mac_address;
 	
 	dev->type = ARPHRD_AX25;           /* AF_AX25 device */
 	dev->hard_header_len = AX25_MAX_HEADER_LEN + AX25_BPQ_HEADER_LEN;



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 34/45] bpqether: convert to internal net_device_stats
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (6 preceding siblings ...)
  2009-01-09 23:01 ` [patch 33/45] baycom: convert to net_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 35/45] bpqether: convert to net_device_ops Stephen Hemminger
                   ` (10 subsequent siblings)
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, linux-hams

[-- Attachment #1: bpqether-stats.patch --]
[-- Type: text/plain, Size: 1873 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/hamradio/bpqether.c	2009-01-08 08:30:11.000000000 -0800
+++ b/drivers/net/hamradio/bpqether.c	2009-01-08 11:51:31.000000000 -0800
@@ -110,7 +110,6 @@ struct bpqdev {
 	struct list_head bpq_list;	/* list of bpq devices chain */
 	struct net_device *ethdev;	/* link to ethernet device */
 	struct net_device *axdev;	/* bpq device (bpq#) */
-	struct net_device_stats stats;	/* some statistics */
 	char   dest_addr[6];		/* ether destination address */
 	char   acpt_addr[6];		/* accept ether frames from this address only */
 };
@@ -222,8 +221,8 @@ static int bpq_rcv(struct sk_buff *skb, 
 	skb_pull(skb, 2);	/* Remove the length bytes */
 	skb_trim(skb, len);	/* Set the length of the data */
 
-	bpq->stats.rx_packets++;
-	bpq->stats.rx_bytes += len;
+	dev->stats.rx_packets++;
+	dev->stats.rx_bytes += len;
 
 	ptr = skb_push(skb, 1);
 	*ptr = 0;
@@ -292,7 +291,7 @@ static int bpq_xmit(struct sk_buff *skb,
 	bpq = netdev_priv(dev);
 
 	if ((dev = bpq_get_ether_dev(dev)) == NULL) {
-		bpq->stats.tx_dropped++;
+		dev->stats.tx_dropped++;
 		kfree_skb(skb);
 		return -ENODEV;
 	}
@@ -300,8 +299,8 @@ static int bpq_xmit(struct sk_buff *skb,
 	skb->protocol = ax25_type_trans(skb, dev);
 	skb_reset_network_header(skb);
 	dev_hard_header(skb, dev, ETH_P_BPQ, bpq->dest_addr, NULL, 0);
-	bpq->stats.tx_packets++;
-	bpq->stats.tx_bytes+=skb->len;
+	dev->stats.tx_packets++;
+	dev->stats.tx_bytes+=skb->len;
   
 	dev_queue_xmit(skb);
 	netif_wake_queue(dev);
@@ -309,16 +308,6 @@ static int bpq_xmit(struct sk_buff *skb,
 }
 
 /*
- *	Statistics
- */
-static struct net_device_stats *bpq_get_stats(struct net_device *dev)
-{
-	struct bpqdev *bpq = netdev_priv(dev);
-
-	return &bpq->stats;
-}
-
-/*
  *	Set AX.25 callsign
  */
 static int bpq_set_mac_address(struct net_device *dev, void *addr)



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 35/45] bpqether: convert to net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (7 preceding siblings ...)
  2009-01-09 23:01 ` [patch 34/45] bpqether: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 36/45] dmascc: convert to internal network device stats Stephen Hemminger
                   ` (9 subsequent siblings)
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, linux-hams

[-- Attachment #1: bpqether-netdev.patch --]
[-- Type: text/plain, Size: 992 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/hamradio/bpqether.c	2009-01-09 14:00:32.000000000 -0800
+++ b/drivers/net/hamradio/bpqether.c	2009-01-09 14:00:32.000000000 -0800
@@ -466,16 +466,17 @@ static const struct file_operations bpq_
 
 /* ------------------------------------------------------------------------ */
 
+static const struct net_device_ops bpq_netdev_ops = {
+	.ndo_open	     = bpq_open,
+	.ndo_stop	     = bpq_close,
+	.ndo_start_xmit	     = bpq_xmit,
+	.ndo_set_mac_address = bpq_set_mac_address,
+	.ndo_do_ioctl	     = bpq_ioctl,
+};
 
 static void bpq_setup(struct net_device *dev)
 {
-
-	dev->hard_start_xmit = bpq_xmit;
-	dev->open	     = bpq_open;
-	dev->stop	     = bpq_close;
-	dev->set_mac_address = bpq_set_mac_address;
-	dev->get_stats	     = bpq_get_stats;
-	dev->do_ioctl	     = bpq_ioctl;
+	dev->netdev_ops	     = &bpq_netdev_ops;
 	dev->destructor	     = free_netdev;
 
 	memcpy(dev->broadcast, &ax25_bcast, AX25_ADDR_LEN);



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 36/45] dmascc: convert to internal network device stats
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (8 preceding siblings ...)
  2009-01-09 23:01 ` [patch 35/45] bpqether: convert to net_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 37/45] dmascc: convert to network_device_ops Stephen Hemminger
                   ` (8 subsequent siblings)
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, klaus.kudielka; +Cc: netdev, linux-hams

[-- Attachment #1: dmascc-stats.patch --]
[-- Type: text/plain, Size: 3874 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/hamradio/dmascc.c	2009-01-09 10:16:50.000000000 -0800
+++ b/drivers/net/hamradio/dmascc.c	2009-01-09 11:07:16.000000000 -0800
@@ -195,7 +195,7 @@ struct scc_priv {
 	int chip;
 	struct net_device *dev;
 	struct scc_info *info;
-	struct net_device_stats stats;
+
 	int channel;
 	int card_base, scc_cmd, scc_data;
 	int tmr_cnt, tmr_ctrl, tmr_mode;
@@ -239,7 +239,6 @@ static int scc_open(struct net_device *d
 static int scc_close(struct net_device *dev);
 static int scc_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd);
 static int scc_send_packet(struct sk_buff *skb, struct net_device *dev);
-static struct net_device_stats *scc_get_stats(struct net_device *dev);
 static int scc_set_mac_address(struct net_device *dev, void *sa);
 
 static inline void tx_on(struct scc_priv *priv);
@@ -961,14 +960,6 @@ static int scc_send_packet(struct sk_buf
 }
 
 
-static struct net_device_stats *scc_get_stats(struct net_device *dev)
-{
-	struct scc_priv *priv = dev->ml_priv;
-
-	return &priv->stats;
-}
-
-
 static int scc_set_mac_address(struct net_device *dev, void *sa)
 {
 	memcpy(dev->dev_addr, ((struct sockaddr *) sa)->sa_data,
@@ -1216,17 +1207,17 @@ static void special_condition(struct scc
 		}
 		if (priv->rx_over) {
 			/* We had an overrun */
-			priv->stats.rx_errors++;
+			priv->dev->stats.rx_errors++;
 			if (priv->rx_over == 2)
-				priv->stats.rx_length_errors++;
+				priv->dev->stats.rx_length_errors++;
 			else
-				priv->stats.rx_fifo_errors++;
+				priv->dev->stats.rx_fifo_errors++;
 			priv->rx_over = 0;
 		} else if (rc & CRC_ERR) {
 			/* Count invalid CRC only if packet length >= minimum */
 			if (cb >= 15) {
-				priv->stats.rx_errors++;
-				priv->stats.rx_crc_errors++;
+				priv->dev->stats.rx_errors++;
+				priv->dev->stats.rx_crc_errors++;
 			}
 		} else {
 			if (cb >= 15) {
@@ -1239,8 +1230,8 @@ static void special_condition(struct scc
 					priv->rx_count++;
 					schedule_work(&priv->rx_work);
 				} else {
-					priv->stats.rx_errors++;
-					priv->stats.rx_over_errors++;
+					priv->dev->stats.rx_errors++;
+					priv->dev->stats.rx_over_errors++;
 				}
 			}
 		}
@@ -1275,7 +1266,7 @@ static void rx_bh(struct work_struct *ug
 		skb = dev_alloc_skb(cb + 1);
 		if (skb == NULL) {
 			/* Drop packet */
-			priv->stats.rx_dropped++;
+			priv->dev->stats.rx_dropped++;
 		} else {
 			/* Fill buffer */
 			data = skb_put(skb, cb + 1);
@@ -1283,8 +1274,8 @@ static void rx_bh(struct work_struct *ug
 			memcpy(&data[1], priv->rx_buf[i], cb);
 			skb->protocol = ax25_type_trans(skb, priv->dev);
 			netif_rx(skb);
-			priv->stats.rx_packets++;
-			priv->stats.rx_bytes += cb;
+			priv->dev->stats.rx_packets++;
+			priv->dev->stats.rx_bytes += cb;
 		}
 		spin_lock_irqsave(&priv->ring_lock, flags);
 		/* Move tail */
@@ -1351,15 +1342,15 @@ static void es_isr(struct scc_priv *priv
 			write_scc(priv, R1, EXT_INT_ENAB | WT_FN_RDYFN);
 		if (res) {
 			/* Update packet statistics */
-			priv->stats.tx_errors++;
-			priv->stats.tx_fifo_errors++;
+			priv->dev->stats.tx_errors++;
+			priv->dev->stats.tx_fifo_errors++;
 			/* Other underrun interrupts may already be waiting */
 			write_scc(priv, R0, RES_EXT_INT);
 			write_scc(priv, R0, RES_EXT_INT);
 		} else {
 			/* Update packet statistics */
-			priv->stats.tx_packets++;
-			priv->stats.tx_bytes += priv->tx_len[i];
+			priv->dev->stats.tx_packets++;
+			priv->dev->stats.tx_bytes += priv->tx_len[i];
 			/* Remove frame from FIFO */
 			priv->tx_tail = (i + 1) % NUM_TX_BUF;
 			priv->tx_count--;
@@ -1425,7 +1416,7 @@ static void tm_isr(struct scc_priv *priv
 		write_scc(priv, R15, DCDIE);
 		priv->rr0 = read_scc(priv, R0);
 		if (priv->rr0 & DCD) {
-			priv->stats.collisions++;
+			priv->dev->stats.collisions++;
 			rx_on(priv);
 			priv->state = RX_ON;
 		} else {



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 37/45] dmascc: convert to network_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (9 preceding siblings ...)
  2009-01-09 23:01 ` [patch 36/45] dmascc: convert to internal network device stats Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 38/45] hdlcdrv: convert to internal net_device_stats Stephen Hemminger
                   ` (7 subsequent siblings)
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, klaus.kudielka; +Cc: netdev, linux-hams

[-- Attachment #1: dmascc-netdev.patch --]
[-- Type: text/plain, Size: 1035 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/hamradio/dmascc.c	2009-01-09 12:47:32.000000000 -0800
+++ b/drivers/net/hamradio/dmascc.c	2009-01-09 12:52:12.000000000 -0800
@@ -440,6 +440,13 @@ static void __init dev_setup(struct net_
 	memcpy(dev->dev_addr, &ax25_defaddr, AX25_ADDR_LEN);
 }
 
+static const struct net_device_ops scc_netdev_ops = {
+	.ndo_open = scc_open,
+	.ndo_stop = scc_close,
+	.ndo_start_xmit = scc_send_packet,
+	.ndo_do_ioctl = scc_ioctl,
+};
+
 static int __init setup_adapter(int card_base, int type, int n)
 {
 	int i, irq, chip;
@@ -575,11 +582,7 @@ static int __init setup_adapter(int card
 		sprintf(dev->name, "dmascc%i", 2 * n + i);
 		dev->base_addr = card_base;
 		dev->irq = irq;
-		dev->open = scc_open;
-		dev->stop = scc_close;
-		dev->do_ioctl = scc_ioctl;
-		dev->hard_start_xmit = scc_send_packet;
-		dev->get_stats = scc_get_stats;
+		dev->netdev_ops = &scc_netdev_ops;
 		dev->header_ops = &ax25_header_ops;
 		dev->set_mac_address = scc_set_mac_address;
 	}



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 38/45] hdlcdrv: convert to internal net_device_stats
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (10 preceding siblings ...)
  2009-01-09 23:01 ` [patch 37/45] dmascc: convert to network_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-10  0:03   ` Thomas Sailer
  2009-01-09 23:01 ` [patch 39/45] hdlcdrv: convert to net_device_ops Stephen Hemminger
                   ` (6 subsequent siblings)
  18 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, t.sailer; +Cc: netdev, linux-hams

[-- Attachment #1: hdlcdrv-stats.patch --]
[-- Type: text/plain, Size: 2809 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

---
 drivers/net/hamradio/hdlcdrv.c |   27 +++++++--------------------
 include/linux/hdlcdrv.h        |    1 -
 2 files changed, 7 insertions(+), 21 deletions(-)

--- a/drivers/net/hamradio/hdlcdrv.c	2009-01-09 10:16:50.000000000 -0800
+++ b/drivers/net/hamradio/hdlcdrv.c	2009-01-09 12:52:18.000000000 -0800
@@ -154,7 +154,7 @@ static void hdlc_rx_flag(struct net_devi
 	pkt_len = s->hdlcrx.len - 2 + 1; /* KISS kludge */
 	if (!(skb = dev_alloc_skb(pkt_len))) {
 		printk("%s: memory squeeze, dropping packet\n", dev->name);
-		s->stats.rx_dropped++;
+		dev->stats.rx_dropped++;
 		return;
 	}
 	cp = skb_put(skb, pkt_len);
@@ -162,7 +162,7 @@ static void hdlc_rx_flag(struct net_devi
 	memcpy(cp, s->hdlcrx.buffer, pkt_len - 1);
 	skb->protocol = ax25_type_trans(skb, dev);
 	netif_rx(skb);
-	s->stats.rx_packets++;
+	dev->stats.rx_packets++;
 }
 
 void hdlcdrv_receiver(struct net_device *dev, struct hdlcdrv_state *s)
@@ -326,7 +326,7 @@ void hdlcdrv_transmitter(struct net_devi
 			s->hdlctx.len = pkt_len+2; /* the appended CRC */
 			s->hdlctx.tx_state = 2;
 			s->hdlctx.bitstream = 0;
-			s->stats.tx_packets++;
+			dev->stats.tx_packets++;
 			break;
 		case 2:
 			if (!s->hdlctx.len) {
@@ -427,19 +427,6 @@ static int hdlcdrv_set_mac_address(struc
 }
 
 /* --------------------------------------------------------------------- */
-
-static struct net_device_stats *hdlcdrv_get_stats(struct net_device *dev)
-{
-	struct hdlcdrv_state *sm = netdev_priv(dev);
-
-	/* 
-	 * Get the current statistics.  This may be called with the
-	 * card open or closed. 
-	 */
-	return &sm->stats;
-}
-
-/* --------------------------------------------------------------------- */
 /*
  * Open/initialize the board. This is called (in the current kernel)
  * sometime after booting when the 'ifconfig' program is run.
@@ -568,10 +555,10 @@ static int hdlcdrv_ioctl(struct net_devi
 		bi.data.cs.ptt = hdlcdrv_ptt(s);
 		bi.data.cs.dcd = s->hdlcrx.dcd;
 		bi.data.cs.ptt_keyed = s->ptt_keyed;
-		bi.data.cs.tx_packets = s->stats.tx_packets;
-		bi.data.cs.tx_errors = s->stats.tx_errors;
-		bi.data.cs.rx_packets = s->stats.rx_packets;
-		bi.data.cs.rx_errors = s->stats.rx_errors;
+		bi.data.cs.tx_packets = dev->stats.tx_packets;
+		bi.data.cs.tx_errors = dev->stats.tx_errors;
+		bi.data.cs.rx_packets = dev->stats.rx_packets;
+		bi.data.cs.rx_errors = dev->stats.rx_errors;
 		break;		
 
 	case HDLCDRVCTL_OLDGETSTAT:
--- a/include/linux/hdlcdrv.h	2009-01-09 10:16:50.000000000 -0800
+++ b/include/linux/hdlcdrv.h	2009-01-09 12:52:18.000000000 -0800
@@ -241,7 +241,6 @@ struct hdlcdrv_state {
 	struct hdlcdrv_bitbuffer bitbuf_hdlc;
 #endif /* HDLCDRV_DEBUG */
 
-	struct net_device_stats stats;
 	int ptt_keyed;
 
 	/* queued skb for transmission */



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 39/45] hdlcdrv: convert to net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (11 preceding siblings ...)
  2009-01-09 23:01 ` [patch 38/45] hdlcdrv: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-10  0:03   ` Thomas Sailer
  2009-01-09 23:01 ` [patch 40/45] yam: convert to internal net_device_stats Stephen Hemminger
                   ` (5 subsequent siblings)
  18 siblings, 1 reply; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, t.sailer; +Cc: netdev, linux-hams

[-- Attachment #1: hdlcdrv-netdev.patch --]
[-- Type: text/plain, Size: 1306 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/hamradio/hdlcdrv.c	2009-01-09 12:52:18.000000000 -0800
+++ b/drivers/net/hamradio/hdlcdrv.c	2009-01-09 12:52:27.000000000 -0800
@@ -617,6 +617,14 @@ static int hdlcdrv_ioctl(struct net_devi
 
 /* --------------------------------------------------------------------- */
 
+static const struct net_device_ops hdlcdrv_netdev = {
+	.ndo_open	= hdlcdrv_open,
+	.ndo_stop	= hdlcdrv_close,
+	.ndo_start_xmit = hdlcdrv_send_packet,
+	.ndo_do_ioctl	= hdlcdrv_ioctl,
+	.ndo_set_mac_address = hdlcdrv_set_mac_address,
+};
+
 /*
  * Initialize fields in hdlcdrv
  */
@@ -656,21 +664,13 @@ static void hdlcdrv_setup(struct net_dev
 	s->bitbuf_hdlc.shreg = 0x80;
 #endif /* HDLCDRV_DEBUG */
 
-	/*
-	 * initialize the device struct
-	 */
-	dev->open = hdlcdrv_open;
-	dev->stop = hdlcdrv_close;
-	dev->do_ioctl = hdlcdrv_ioctl;
-	dev->hard_start_xmit = hdlcdrv_send_packet;
-	dev->get_stats = hdlcdrv_get_stats;
 
 	/* Fill in the fields of the device structure */
 
 	s->skb = NULL;
 	
+	dev->netdev_ops = &hdlcdrv_netdev;
 	dev->header_ops = &ax25_header_ops;
-	dev->set_mac_address = hdlcdrv_set_mac_address;
 	
 	dev->type = ARPHRD_AX25;           /* AF_AX25 device */
 	dev->hard_header_len = AX25_MAX_HEADER_LEN + AX25_BPQ_HEADER_LEN;



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 40/45] yam: convert to internal net_device_stats
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (12 preceding siblings ...)
  2009-01-09 23:01 ` [patch 39/45] hdlcdrv: convert to net_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 41/45] yam: convert to net_device_ops Stephen Hemminger
                   ` (4 subsequent siblings)
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, jpr; +Cc: netdev, linux-hams

[-- Attachment #1: yam-stats.patch --]
[-- Type: text/plain, Size: 3187 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/hamradio/yam.c	2009-01-09 10:16:50.000000000 -0800
+++ b/drivers/net/hamradio/yam.c	2009-01-09 12:54:25.000000000 -0800
@@ -115,10 +115,6 @@ struct yam_port {
 
 	struct net_device *dev;
 
-	/* Stats section */
-
-	struct net_device_stats stats;
-
 	int nb_rxint;
 	int nb_mdint;
 
@@ -507,7 +503,7 @@ static inline void yam_rx_flag(struct ne
 		} else {
 			if (!(skb = dev_alloc_skb(pkt_len))) {
 				printk(KERN_WARNING "%s: memory squeeze, dropping packet\n", dev->name);
-				++yp->stats.rx_dropped;
+				++dev->stats.rx_dropped;
 			} else {
 				unsigned char *cp;
 				cp = skb_put(skb, pkt_len);
@@ -515,7 +511,7 @@ static inline void yam_rx_flag(struct ne
 				memcpy(cp, yp->rx_buf, pkt_len - 1);
 				skb->protocol = ax25_type_trans(skb, dev);
 				netif_rx(skb);
-				++yp->stats.rx_packets;
+				++dev->stats.rx_packets;
 			}
 		}
 	}
@@ -677,7 +673,7 @@ static void yam_tx_byte(struct net_devic
 			yp->tx_count = 1;
 			yp->tx_state = TX_HEAD;
 		}
-		++yp->stats.tx_packets;
+		++dev->stats.tx_packets;
 		break;
 	case TX_TAIL:
 		if (--yp->tx_count <= 0) {
@@ -716,7 +712,7 @@ static irqreturn_t yam_interrupt(int irq
 			handled = 1;
 
 			if (lsr & LSR_OE)
-				++yp->stats.rx_fifo_errors;
+				++dev->stats.rx_fifo_errors;
 
 			yp->dcd = (msr & RX_DCD) ? 1 : 0;
 
@@ -778,11 +774,11 @@ static int yam_seq_show(struct seq_file 
 	seq_printf(seq, "  TxTail   %u\n", yp->txtail);
 	seq_printf(seq, "  SlotTime %u\n", yp->slot);
 	seq_printf(seq, "  Persist  %u\n", yp->pers);
-	seq_printf(seq, "  TxFrames %lu\n", yp->stats.tx_packets);
-	seq_printf(seq, "  RxFrames %lu\n", yp->stats.rx_packets);
+	seq_printf(seq, "  TxFrames %lu\n", dev->stats.tx_packets);
+	seq_printf(seq, "  RxFrames %lu\n", dev->stats.rx_packets);
 	seq_printf(seq, "  TxInt    %u\n", yp->nb_mdint);
 	seq_printf(seq, "  RxInt    %u\n", yp->nb_rxint);
-	seq_printf(seq, "  RxOver   %lu\n", yp->stats.rx_fifo_errors);
+	seq_printf(seq, "  RxOver   %lu\n", dev->stats.rx_fifo_errors);
 	seq_printf(seq, "\n");
 	return 0;
 }
@@ -812,26 +808,6 @@ static const struct file_operations yam_
 
 /* --------------------------------------------------------------------- */
 
-static struct net_device_stats *yam_get_stats(struct net_device *dev)
-{
-	struct yam_port *yp;
-
-	if (!dev)
-		return NULL;
-
-	yp = netdev_priv(dev);
-	if (yp->magic != YAM_MAGIC)
-		return NULL;
-
-	/* 
-	 * Get the current statistics.  This may be called with the
-	 * card open or closed. 
-	 */
-	return &yp->stats;
-}
-
-/* --------------------------------------------------------------------- */
-
 static int yam_open(struct net_device *dev)
 {
 	struct yam_port *yp = netdev_priv(dev);
@@ -878,9 +854,9 @@ static int yam_open(struct net_device *d
 	/* Reset overruns for all ports - FPGA programming makes overruns */
 	for (i = 0; i < NR_PORTS; i++) {
 		struct net_device *dev = yam_devs[i];
-		struct yam_port *yp = netdev_priv(dev);
+
 		inb(LSR(dev->base_addr));
-		yp->stats.rx_fifo_errors = 0;
+		dev->stats.rx_fifo_errors = 0;
 	}
 
 	printk(KERN_INFO "%s at iobase 0x%lx irq %u uart %s\n", dev->name, dev->base_addr, dev->irq,



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 41/45] yam: convert to net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (13 preceding siblings ...)
  2009-01-09 23:01 ` [patch 40/45] yam: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 42/45] scc: convert to internal net_device_ops Stephen Hemminger
                   ` (3 subsequent siblings)
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, jpr; +Cc: netdev, linux-hams

[-- Attachment #1: yam-netdev.patch --]
[-- Type: text/plain, Size: 1218 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/hamradio/yam.c	2009-01-09 12:54:25.000000000 -0800
+++ b/drivers/net/hamradio/yam.c	2009-01-09 12:54:26.000000000 -0800
@@ -1044,6 +1044,14 @@ static int yam_set_mac_address(struct ne
 
 /* --------------------------------------------------------------------- */
 
+static const struct net_device_ops yam_netdev_ops = {
+	.ndo_open	     = yam_open,
+	.ndo_stop	     = yam_close,
+	.ndo_start_xmit      = yam_send_packet,
+	.ndo_do_ioctl 	     = yam_ioctl,
+	.ndo_set_mac_address = yam_set_mac_address,
+};
+
 static void yam_setup(struct net_device *dev)
 {
 	struct yam_port *yp = netdev_priv(dev);
@@ -1064,18 +1072,11 @@ static void yam_setup(struct net_device 
 	dev->base_addr = yp->iobase;
 	dev->irq = yp->irq;
 
-	dev->open = yam_open;
-	dev->stop = yam_close;
-	dev->do_ioctl = yam_ioctl;
-	dev->hard_start_xmit = yam_send_packet;
-	dev->get_stats = yam_get_stats;
-
 	skb_queue_head_init(&yp->send_queue);
 
+	dev->netdev_ops = &yam_netdev_ops;
 	dev->header_ops = &ax25_header_ops;
 
-	dev->set_mac_address = yam_set_mac_address;
-
 	dev->type = ARPHRD_AX25;
 	dev->hard_header_len = AX25_MAX_HEADER_LEN;
 	dev->mtu = AX25_MTU;



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 42/45] scc: convert to internal net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (14 preceding siblings ...)
  2009-01-09 23:01 ` [patch 41/45] yam: convert to net_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 43/45] mkiss: convert to internal network device stats Stephen Hemminger
                   ` (2 subsequent siblings)
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, klaus.kudielka; +Cc: netdev, linux-hams

[-- Attachment #1: scc-netdev.patch --]
[-- Type: text/plain, Size: 1324 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/hamradio/scc.c	2009-01-08 08:30:11.000000000 -0800
+++ b/drivers/net/hamradio/scc.c	2009-01-08 15:23:35.000000000 -0800
@@ -1542,23 +1542,24 @@ static int scc_net_alloc(const char *nam
 /* *			    Network driver methods		      * */
 /* ******************************************************************** */
 
+static const struct net_device_ops scc_netdev_ops = {
+	.ndo_open            = scc_net_open,
+	.ndo_stop	     = scc_net_close,
+	.ndo_start_xmit	     = scc_net_tx,
+	.ndo_set_mac_address = scc_net_set_mac_address,
+	.ndo_get_stats       = scc_net_get_stats,
+	.ndo_do_ioctl        = scc_net_ioctl,
+};
+
 /* ----> Initialize device <----- */
 
 static void scc_net_setup(struct net_device *dev)
 {
 	dev->tx_queue_len    = 16;	/* should be enough... */
 
-	dev->open            = scc_net_open;
-	dev->stop	     = scc_net_close;
-
-	dev->hard_start_xmit = scc_net_tx;
+	dev->netdev_ops	     = &scc_netdev_ops;
 	dev->header_ops      = &ax25_header_ops;
 
-	dev->set_mac_address = scc_net_set_mac_address;
-	dev->get_stats       = scc_net_get_stats;
-	dev->do_ioctl        = scc_net_ioctl;
-	dev->tx_timeout      = NULL;
-
 	memcpy(dev->broadcast, &ax25_bcast,  AX25_ADDR_LEN);
 	memcpy(dev->dev_addr,  &ax25_defaddr, AX25_ADDR_LEN);
  



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 43/45] mkiss: convert to internal network device stats
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (15 preceding siblings ...)
  2009-01-09 23:01 ` [patch 42/45] scc: convert to internal net_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 44/45] dmascc: convert to net_device_ops Stephen Hemminger
  2009-01-09 23:01 ` [patch 45/45] dmascc: convert to internal net_device_ops Stephen Hemminger
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, linux-hams

[-- Attachment #1: mkiss-stats.patch --]
[-- Type: text/plain, Size: 3960 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/hamradio/mkiss.c	2009-01-09 10:16:50.000000000 -0800
+++ b/drivers/net/hamradio/mkiss.c	2009-01-09 12:57:32.000000000 -0800
@@ -59,8 +59,6 @@ struct mkiss {
 	unsigned char		*xhead;	/* pointer to next byte to XMIT */
 	int			xleft;	/* bytes left in XMIT queue     */
 
-	struct net_device_stats	stats;
-
 	/* Detailed SLIP statistics. */
 	int		mtu;		/* Our mtu (to spot changes!)   */
 	int		buffsize;	/* Max buffers sizes            */
@@ -253,7 +251,7 @@ static void ax_bump(struct mkiss *ax)
 	if (ax->rbuff[0] > 0x0f) {
 		if (ax->rbuff[0] & 0x80) {
 			if (check_crc_16(ax->rbuff, ax->rcount) < 0) {
-				ax->stats.rx_errors++;
+				ax->dev->stats.rx_errors++;
 				spin_unlock_bh(&ax->buflock);
 
 				return;
@@ -268,7 +266,7 @@ static void ax_bump(struct mkiss *ax)
 			*ax->rbuff &= ~0x80;
 		} else if (ax->rbuff[0] & 0x20)  {
 			if (check_crc_flex(ax->rbuff, ax->rcount) < 0) {
-				ax->stats.rx_errors++;
+				ax->dev->stats.rx_errors++;
 				spin_unlock_bh(&ax->buflock);
 				return;
 			}
@@ -295,7 +293,7 @@ static void ax_bump(struct mkiss *ax)
 	if ((skb = dev_alloc_skb(count)) == NULL) {
 		printk(KERN_ERR "mkiss: %s: memory squeeze, dropping packet.\n",
 		       ax->dev->name);
-		ax->stats.rx_dropped++;
+		ax->dev->stats.rx_dropped++;
 		spin_unlock_bh(&ax->buflock);
 		return;
 	}
@@ -303,8 +301,8 @@ static void ax_bump(struct mkiss *ax)
 	memcpy(skb_put(skb,count), ax->rbuff, count);
 	skb->protocol = ax25_type_trans(skb, ax->dev);
 	netif_rx(skb);
-	ax->stats.rx_packets++;
-	ax->stats.rx_bytes += count;
+	ax->dev->stats.rx_packets++;
+	ax->dev->stats.rx_bytes += count;
 	spin_unlock_bh(&ax->buflock);
 }
 
@@ -344,7 +342,7 @@ static void kiss_unesc(struct mkiss *ax,
 			return;
 		}
 
-		ax->stats.rx_over_errors++;
+		ax->dev->stats.rx_over_errors++;
 		set_bit(AXF_ERROR, &ax->flags);
 	}
 	spin_unlock_bh(&ax->buflock);
@@ -406,7 +404,7 @@ static void ax_changedmtu(struct mkiss *
 			memcpy(ax->xbuff, ax->xhead, ax->xleft);
 		} else  {
 			ax->xleft = 0;
-			ax->stats.tx_dropped++;
+			dev->stats.tx_dropped++;
 		}
 	}
 
@@ -417,7 +415,7 @@ static void ax_changedmtu(struct mkiss *
 			memcpy(ax->rbuff, orbuff, ax->rcount);
 		} else  {
 			ax->rcount = 0;
-			ax->stats.rx_over_errors++;
+			dev->stats.rx_over_errors++;
 			set_bit(AXF_ERROR, &ax->flags);
 		}
 	}
@@ -444,7 +442,7 @@ static void ax_encaps(struct net_device 
 	if (len > ax->mtu) {		/* Sigh, shouldn't occur BUT ... */
 		len = ax->mtu;
 		printk(KERN_ERR "mkiss: %s: truncating oversized transmit packet!\n", ax->dev->name);
-		ax->stats.tx_dropped++;
+		dev->stats.tx_dropped++;
 		netif_start_queue(dev);
 		return;
 	}
@@ -518,8 +516,8 @@ static void ax_encaps(struct net_device 
 
 	set_bit(TTY_DO_WRITE_WAKEUP, &ax->tty->flags);
 	actual = ax->tty->ops->write(ax->tty, ax->xbuff, count);
-	ax->stats.tx_packets++;
-	ax->stats.tx_bytes += actual;
+	dev->stats.tx_packets++;
+	dev->stats.tx_bytes += actual;
 
 	ax->dev->trans_start = jiffies;
 	ax->xleft = count - actual;
@@ -664,13 +662,6 @@ static int ax_close(struct net_device *d
 	return 0;
 }
 
-static struct net_device_stats *ax_get_stats(struct net_device *dev)
-{
-	struct mkiss *ax = netdev_priv(dev);
-
-	return &ax->stats;
-}
-
 static const struct header_ops ax_header_ops = {
 	.create    = ax_header,
 	.rebuild   = ax_rebuild_header,
@@ -683,7 +674,6 @@ static void ax_setup(struct net_device *
 	dev->hard_start_xmit = ax_xmit;
 	dev->open            = ax_open_dev;
 	dev->stop            = ax_close;
-	dev->get_stats	     = ax_get_stats;
 	dev->set_mac_address = ax_set_mac_address;
 	dev->hard_header_len = 0;
 	dev->addr_len        = 0;
@@ -929,7 +919,7 @@ static void mkiss_receive_buf(struct tty
 	while (count--) {
 		if (fp != NULL && *fp++) {
 			if (!test_and_set_bit(AXF_ERROR, &ax->flags))
-				ax->stats.rx_errors++;
+				ax->dev->stats.rx_errors++;
 			cp++;
 			continue;
 		}



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 44/45] dmascc: convert to net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (16 preceding siblings ...)
  2009-01-09 23:01 ` [patch 43/45] mkiss: convert to internal network device stats Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  2009-01-09 23:01 ` [patch 45/45] dmascc: convert to internal net_device_ops Stephen Hemminger
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller; +Cc: netdev, linux-hams

[-- Attachment #1: mkiss-netdev.patch --]
[-- Type: text/plain, Size: 1057 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

--- a/drivers/net/hamradio/mkiss.c	2009-01-09 12:57:32.000000000 -0800
+++ b/drivers/net/hamradio/mkiss.c	2009-01-09 12:58:45.000000000 -0800
@@ -667,19 +667,23 @@ static const struct header_ops ax_header
 	.rebuild   = ax_rebuild_header,
 };
 
+static const struct net_device_ops ax_netdev_ops = {
+	.ndo_open            = ax_open_dev,
+	.ndo_stop            = ax_close,
+	.ndo_start_xmit	     = ax_xmit,
+	.ndo_set_mac_address = ax_set_mac_address,
+};
+
 static void ax_setup(struct net_device *dev)
 {
 	/* Finish setting up the DEVICE info. */
 	dev->mtu             = AX_MTU;
-	dev->hard_start_xmit = ax_xmit;
-	dev->open            = ax_open_dev;
-	dev->stop            = ax_close;
-	dev->set_mac_address = ax_set_mac_address;
 	dev->hard_header_len = 0;
 	dev->addr_len        = 0;
 	dev->type            = ARPHRD_AX25;
 	dev->tx_queue_len    = 10;
 	dev->header_ops      = &ax_header_ops;
+	dev->netdev_ops	     = &ax_netdev_ops;
 
 
 	memcpy(dev->broadcast, &ax25_bcast, AX25_ADDR_LEN);



^ permalink raw reply	[flat|nested] 28+ messages in thread

* [patch 45/45] dmascc: convert to internal net_device_ops
       [not found] <20090109230057.575650817@linux-foundation.org>
                   ` (17 preceding siblings ...)
  2009-01-09 23:01 ` [patch 44/45] dmascc: convert to net_device_ops Stephen Hemminger
@ 2009-01-09 23:01 ` Stephen Hemminger
  18 siblings, 0 replies; 28+ messages in thread
From: Stephen Hemminger @ 2009-01-09 23:01 UTC (permalink / raw)
  To: David Miller, klaus.kudielka; +Cc: netdev, linux-hams

[-- Attachment #1: 82596-netdev.patch --]
[-- Type: text/plain, Size: 1175 bytes --]

Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>


--- a/drivers/net/82596.c	2009-01-08 08:30:09.000000000 -0800
+++ b/drivers/net/82596.c	2009-01-09 14:05:18.000000000 -0800
@@ -1122,6 +1122,17 @@ static void print_eth(unsigned char *add
 static int io = 0x300;
 static int irq = 10;
 
+static const struct net_device_ops i596_netdev_ops = {
+	.ndo_open 		= i596_open,
+	.ndo_stop		= i596_close,
+	.ndo_start_xmit		= i596_start_xmit,
+	.ndo_set_multicast_list = set_multicast_list,
+	.ndo_tx_timeout		= i596_tx_timeout,
+	.ndo_change_mtu		= eth_change_mtu,
+	.ndo_set_mac_address 	= eth_mac_addr,
+	.ndo_validate_addr	= eth_validate_addr,
+};
+
 struct net_device * __init i82596_probe(int unit)
 {
 	struct net_device *dev;
@@ -1232,11 +1243,7 @@ found:
 	DEB(DEB_PROBE,printk(KERN_INFO "%s", version));
 
 	/* The 82596-specific entries in the device structure. */
-	dev->open = i596_open;
-	dev->stop = i596_close;
-	dev->hard_start_xmit = i596_start_xmit;
-	dev->set_multicast_list = set_multicast_list;
-	dev->tx_timeout = i596_tx_timeout;
+	dev->netdev_ops = &i596_netdev_ops;
 	dev->watchdog_timeo = TX_TIMEOUT;
 
 	dev->ml_priv = (void *)(dev->mem_start);



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 32/45] baycom: convert to internal net_device_stats
  2009-01-09 23:01 ` [patch 32/45] baycom: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-10  0:03   ` Thomas Sailer
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Sailer @ 2009-01-10  0:03 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev, linux-hams

On Fri, 2009-01-09 at 15:01 -0800, Stephen Hemminger wrote:
> plain text document attachment (baycom-stats.patch)
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

Thanks!




^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 33/45] baycom: convert to net_device_ops
  2009-01-09 23:01 ` [patch 33/45] baycom: convert to net_device_ops Stephen Hemminger
@ 2009-01-10  0:03   ` Thomas Sailer
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Sailer @ 2009-01-10  0:03 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev, linux-hams

On Fri, 2009-01-09 at 15:01 -0800, Stephen Hemminger wrote:
> plain text document attachment (baycom-netdev.patch)
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

Thanks!



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 39/45] hdlcdrv: convert to net_device_ops
  2009-01-09 23:01 ` [patch 39/45] hdlcdrv: convert to net_device_ops Stephen Hemminger
@ 2009-01-10  0:03   ` Thomas Sailer
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Sailer @ 2009-01-10  0:03 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev, linux-hams

On Fri, 2009-01-09 at 15:01 -0800, Stephen Hemminger wrote:
> plain text document attachment (hdlcdrv-netdev.patch)
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

Thanks!



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 38/45] hdlcdrv: convert to internal net_device_stats
  2009-01-09 23:01 ` [patch 38/45] hdlcdrv: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-10  0:03   ` Thomas Sailer
  0 siblings, 0 replies; 28+ messages in thread
From: Thomas Sailer @ 2009-01-10  0:03 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev, linux-hams

On Fri, 2009-01-09 at 15:01 -0800, Stephen Hemminger wrote:
> plain text document attachment (hdlcdrv-stats.patch)
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Acked-by: Thomas Sailer <t.sailer@alumni.ethz.ch>

Thanks!



^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 06/45] netrom: convert to internal net_device_stats
  2009-01-09 23:01 ` [patch 06/45] netrom: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-10 12:54   ` Ralf Baechle DL5RB
  2009-01-11  8:15     ` David Miller
  0 siblings, 1 reply; 28+ messages in thread
From: Ralf Baechle DL5RB @ 2009-01-10 12:54 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev, linux-hams

On Fri, Jan 09, 2009 at 03:01:03PM -0800, Stephen Hemminger wrote:

> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Acked-by: Ralf Baechle <ralf@linux-mips.org>

  Ralf

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 07/45] netrom: convert to net_device_ops
  2009-01-09 23:01 ` [patch 07/45] netrom: convert to net_device_ops Stephen Hemminger
@ 2009-01-10 12:55   ` Ralf Baechle DL5RB
  0 siblings, 0 replies; 28+ messages in thread
From: Ralf Baechle DL5RB @ 2009-01-10 12:55 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev, linux-hams

On Fri, Jan 09, 2009 at 03:01:04PM -0800, Stephen Hemminger wrote:
> From: Stephen Hemminger <shemminger@linux-foundation.org>
> Date: Fri, 09 Jan 2009 15:01:04 -0800
> To: David Miller <davem@davemloft.net>, Ralf Baechle <ralf@linux-mips.org>
> Cc: netdev@vger.kernel.org, linux-hams@vger.kernel.org
> Subject: [patch 07/45] netrom: convert to net_device_ops
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Acked-by: Ralf Baechle <ralf@linux-mips.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 08/45] rose: convert to internal net_device_stats
  2009-01-09 23:01 ` [patch 08/45] rose: convert to internal net_device_stats Stephen Hemminger
@ 2009-01-10 12:55   ` Ralf Baechle DL5RB
  0 siblings, 0 replies; 28+ messages in thread
From: Ralf Baechle DL5RB @ 2009-01-10 12:55 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev, linux-hams

On Fri, Jan 09, 2009 at 03:01:05PM -0800, Stephen Hemminger wrote:
> From: Stephen Hemminger <shemminger@linux-foundation.org>
> Date: Fri, 09 Jan 2009 15:01:05 -0800
> To: David Miller <davem@davemloft.net>, Ralf Baechle <ralf@linux-mips.org>
> Cc: netdev@vger.kernel.org, linux-hams@vger.kernel.org
> Subject: [patch 08/45] rose: convert to internal net_device_stats
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Acked-by: Ralf Baechle <ralf@linux-mips.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 09/45] rose: convert to network_device_ops
  2009-01-09 23:01 ` [patch 09/45] rose: convert to network_device_ops Stephen Hemminger
@ 2009-01-10 12:55   ` Ralf Baechle DL5RB
  0 siblings, 0 replies; 28+ messages in thread
From: Ralf Baechle DL5RB @ 2009-01-10 12:55 UTC (permalink / raw)
  To: Stephen Hemminger; +Cc: David Miller, netdev, linux-hams

On Fri, Jan 09, 2009 at 03:01:06PM -0800, Stephen Hemminger wrote:
> From: Stephen Hemminger <shemminger@linux-foundation.org>
> Date: Fri, 09 Jan 2009 15:01:06 -0800
> To: David Miller <davem@davemloft.net>, Ralf Baechle <ralf@linux-mips.org>
> Cc: netdev@vger.kernel.org, linux-hams@vger.kernel.org
> Subject: [patch 09/45] rose: convert to network_device_ops
> 
> Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>

Acked-by: Ralf Baechle <ralf@linux-mips.org>

^ permalink raw reply	[flat|nested] 28+ messages in thread

* Re: [patch 06/45] netrom: convert to internal net_device_stats
  2009-01-10 12:54   ` Ralf Baechle DL5RB
@ 2009-01-11  8:15     ` David Miller
  0 siblings, 0 replies; 28+ messages in thread
From: David Miller @ 2009-01-11  8:15 UTC (permalink / raw)
  To: ralf; +Cc: shemminger, netdev, linux-hams

From: Ralf Baechle DL5RB <ralf@linux-mips.org>
Date: Sat, 10 Jan 2009 12:54:48 +0000

> On Fri, Jan 09, 2009 at 03:01:03PM -0800, Stephen Hemminger wrote:
> 
> > Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
> 
> Acked-by: Ralf Baechle <ralf@linux-mips.org>

I've added your ACKs for these 4 patches, thanks Ralf.

^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2009-01-11  8:15 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20090109230057.575650817@linux-foundation.org>
2009-01-09 23:01 ` [patch 06/45] netrom: convert to internal net_device_stats Stephen Hemminger
2009-01-10 12:54   ` Ralf Baechle DL5RB
2009-01-11  8:15     ` David Miller
2009-01-09 23:01 ` [patch 07/45] netrom: convert to net_device_ops Stephen Hemminger
2009-01-10 12:55   ` Ralf Baechle DL5RB
2009-01-09 23:01 ` [patch 08/45] rose: convert to internal net_device_stats Stephen Hemminger
2009-01-10 12:55   ` Ralf Baechle DL5RB
2009-01-09 23:01 ` [patch 09/45] rose: convert to network_device_ops Stephen Hemminger
2009-01-10 12:55   ` Ralf Baechle DL5RB
2009-01-09 23:01 ` [patch 31/45] 6pack: convert to net_device_ops Stephen Hemminger
2009-01-09 23:01 ` [patch 32/45] baycom: convert to internal net_device_stats Stephen Hemminger
2009-01-10  0:03   ` Thomas Sailer
2009-01-09 23:01 ` [patch 33/45] baycom: convert to net_device_ops Stephen Hemminger
2009-01-10  0:03   ` Thomas Sailer
2009-01-09 23:01 ` [patch 34/45] bpqether: convert to internal net_device_stats Stephen Hemminger
2009-01-09 23:01 ` [patch 35/45] bpqether: convert to net_device_ops Stephen Hemminger
2009-01-09 23:01 ` [patch 36/45] dmascc: convert to internal network device stats Stephen Hemminger
2009-01-09 23:01 ` [patch 37/45] dmascc: convert to network_device_ops Stephen Hemminger
2009-01-09 23:01 ` [patch 38/45] hdlcdrv: convert to internal net_device_stats Stephen Hemminger
2009-01-10  0:03   ` Thomas Sailer
2009-01-09 23:01 ` [patch 39/45] hdlcdrv: convert to net_device_ops Stephen Hemminger
2009-01-10  0:03   ` Thomas Sailer
2009-01-09 23:01 ` [patch 40/45] yam: convert to internal net_device_stats Stephen Hemminger
2009-01-09 23:01 ` [patch 41/45] yam: convert to net_device_ops Stephen Hemminger
2009-01-09 23:01 ` [patch 42/45] scc: convert to internal net_device_ops Stephen Hemminger
2009-01-09 23:01 ` [patch 43/45] mkiss: convert to internal network device stats Stephen Hemminger
2009-01-09 23:01 ` [patch 44/45] dmascc: convert to net_device_ops Stephen Hemminger
2009-01-09 23:01 ` [patch 45/45] dmascc: convert to internal net_device_ops Stephen Hemminger

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.