Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3c94acb7 authored by Stephen Hemminger's avatar Stephen Hemminger Committed by David S. Miller
Browse files

yam: convert to internal net_device_stats

parent 2d8b223d
Loading
Loading
Loading
Loading
+9 −33
Original line number Diff line number Diff line
@@ -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 net_device *dev, struct yam_port *yp)
		} 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 net_device *dev, struct yam_port *yp)
				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_device *dev, struct yam_port *yp)
			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, void *dev_id)
			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, void *v)
	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;
}
@@ -810,26 +806,6 @@ static const struct file_operations yam_info_fops = {
#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)
@@ -878,9 +854,9 @@ static int yam_open(struct net_device *dev)
	/* 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,