* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox