提交 3c94acb7 编写于 作者: S Stephen Hemminger 提交者: David S. Miller

yam: convert to internal net_device_stats

Signed-off-by: NStephen Hemminger <shemminger@vyatta.com>
Signed-off-by: NDavid S. Miller <davem@davemloft.net>
上级 2d8b223d
...@@ -115,10 +115,6 @@ struct yam_port { ...@@ -115,10 +115,6 @@ struct yam_port {
struct net_device *dev; struct net_device *dev;
/* Stats section */
struct net_device_stats stats;
int nb_rxint; int nb_rxint;
int nb_mdint; int nb_mdint;
...@@ -507,7 +503,7 @@ static inline void yam_rx_flag(struct net_device *dev, struct yam_port *yp) ...@@ -507,7 +503,7 @@ static inline void yam_rx_flag(struct net_device *dev, struct yam_port *yp)
} else { } else {
if (!(skb = dev_alloc_skb(pkt_len))) { if (!(skb = dev_alloc_skb(pkt_len))) {
printk(KERN_WARNING "%s: memory squeeze, dropping packet\n", dev->name); printk(KERN_WARNING "%s: memory squeeze, dropping packet\n", dev->name);
++yp->stats.rx_dropped; ++dev->stats.rx_dropped;
} else { } else {
unsigned char *cp; unsigned char *cp;
cp = skb_put(skb, pkt_len); cp = skb_put(skb, pkt_len);
...@@ -515,7 +511,7 @@ static inline void yam_rx_flag(struct net_device *dev, struct yam_port *yp) ...@@ -515,7 +511,7 @@ static inline void yam_rx_flag(struct net_device *dev, struct yam_port *yp)
memcpy(cp, yp->rx_buf, pkt_len - 1); memcpy(cp, yp->rx_buf, pkt_len - 1);
skb->protocol = ax25_type_trans(skb, dev); skb->protocol = ax25_type_trans(skb, dev);
netif_rx(skb); netif_rx(skb);
++yp->stats.rx_packets; ++dev->stats.rx_packets;
} }
} }
} }
...@@ -677,7 +673,7 @@ static void yam_tx_byte(struct net_device *dev, struct yam_port *yp) ...@@ -677,7 +673,7 @@ static void yam_tx_byte(struct net_device *dev, struct yam_port *yp)
yp->tx_count = 1; yp->tx_count = 1;
yp->tx_state = TX_HEAD; yp->tx_state = TX_HEAD;
} }
++yp->stats.tx_packets; ++dev->stats.tx_packets;
break; break;
case TX_TAIL: case TX_TAIL:
if (--yp->tx_count <= 0) { if (--yp->tx_count <= 0) {
...@@ -716,7 +712,7 @@ static irqreturn_t yam_interrupt(int irq, void *dev_id) ...@@ -716,7 +712,7 @@ static irqreturn_t yam_interrupt(int irq, void *dev_id)
handled = 1; handled = 1;
if (lsr & LSR_OE) if (lsr & LSR_OE)
++yp->stats.rx_fifo_errors; ++dev->stats.rx_fifo_errors;
yp->dcd = (msr & RX_DCD) ? 1 : 0; yp->dcd = (msr & RX_DCD) ? 1 : 0;
...@@ -778,11 +774,11 @@ static int yam_seq_show(struct seq_file *seq, void *v) ...@@ -778,11 +774,11 @@ static int yam_seq_show(struct seq_file *seq, void *v)
seq_printf(seq, " TxTail %u\n", yp->txtail); seq_printf(seq, " TxTail %u\n", yp->txtail);
seq_printf(seq, " SlotTime %u\n", yp->slot); seq_printf(seq, " SlotTime %u\n", yp->slot);
seq_printf(seq, " Persist %u\n", yp->pers); seq_printf(seq, " Persist %u\n", yp->pers);
seq_printf(seq, " TxFrames %lu\n", yp->stats.tx_packets); seq_printf(seq, " TxFrames %lu\n", dev->stats.tx_packets);
seq_printf(seq, " RxFrames %lu\n", yp->stats.rx_packets); seq_printf(seq, " RxFrames %lu\n", dev->stats.rx_packets);
seq_printf(seq, " TxInt %u\n", yp->nb_mdint); seq_printf(seq, " TxInt %u\n", yp->nb_mdint);
seq_printf(seq, " RxInt %u\n", yp->nb_rxint); 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"); seq_printf(seq, "\n");
return 0; return 0;
} }
...@@ -810,26 +806,6 @@ static const struct file_operations yam_info_fops = { ...@@ -810,26 +806,6 @@ static const struct file_operations yam_info_fops = {
#endif #endif
/* --------------------------------------------------------------------- */
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) static int yam_open(struct net_device *dev)
...@@ -878,9 +854,9 @@ static int yam_open(struct net_device *dev) ...@@ -878,9 +854,9 @@ static int yam_open(struct net_device *dev)
/* Reset overruns for all ports - FPGA programming makes overruns */ /* Reset overruns for all ports - FPGA programming makes overruns */
for (i = 0; i < NR_PORTS; i++) { for (i = 0; i < NR_PORTS; i++) {
struct net_device *dev = yam_devs[i]; struct net_device *dev = yam_devs[i];
struct yam_port *yp = netdev_priv(dev);
inb(LSR(dev->base_addr)); 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, printk(KERN_INFO "%s at iobase 0x%lx irq %u uart %s\n", dev->name, dev->base_addr, dev->irq,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册