Commit ff458f6f authored by Tobias Klauser's avatar Tobias Klauser Committed by David S. Miller

arc_emac: Use net_device_stats from struct net_device

Instead of using a private copy of struct net_device_stats in struct
arc_emac_priv, use stats from struct net_device.
Signed-off-by: default avatarTobias Klauser <tklauser@distanz.ch>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 21621e93
...@@ -110,7 +110,6 @@ struct buffer_state { ...@@ -110,7 +110,6 @@ struct buffer_state {
* @bus: Pointer to the current MII bus. * @bus: Pointer to the current MII bus.
* @regs: Base address of EMAC memory-mapped control registers. * @regs: Base address of EMAC memory-mapped control registers.
* @napi: Structure for NAPI. * @napi: Structure for NAPI.
* @stats: Network device statistics.
* @rxbd: Pointer to Rx BD ring. * @rxbd: Pointer to Rx BD ring.
* @txbd: Pointer to Tx BD ring. * @txbd: Pointer to Tx BD ring.
* @rxbd_dma: DMA handle for Rx BD ring. * @rxbd_dma: DMA handle for Rx BD ring.
...@@ -135,7 +134,6 @@ struct arc_emac_priv { ...@@ -135,7 +134,6 @@ struct arc_emac_priv {
struct clk *clk; struct clk *clk;
struct napi_struct napi; struct napi_struct napi;
struct net_device_stats stats;
struct arc_emac_bd *rxbd; struct arc_emac_bd *rxbd;
struct arc_emac_bd *txbd; struct arc_emac_bd *txbd;
......
...@@ -140,7 +140,7 @@ static const struct ethtool_ops arc_emac_ethtool_ops = { ...@@ -140,7 +140,7 @@ static const struct ethtool_ops arc_emac_ethtool_ops = {
static void arc_emac_tx_clean(struct net_device *ndev) static void arc_emac_tx_clean(struct net_device *ndev)
{ {
struct arc_emac_priv *priv = netdev_priv(ndev); struct arc_emac_priv *priv = netdev_priv(ndev);
struct net_device_stats *stats = &priv->stats; struct net_device_stats *stats = &ndev->stats;
unsigned int i; unsigned int i;
for (i = 0; i < TX_BD_NUM; i++) { for (i = 0; i < TX_BD_NUM; i++) {
...@@ -202,7 +202,7 @@ static int arc_emac_rx(struct net_device *ndev, int budget) ...@@ -202,7 +202,7 @@ static int arc_emac_rx(struct net_device *ndev, int budget)
for (work_done = 0; work_done < budget; work_done++) { for (work_done = 0; work_done < budget; work_done++) {
unsigned int *last_rx_bd = &priv->last_rx_bd; unsigned int *last_rx_bd = &priv->last_rx_bd;
struct net_device_stats *stats = &priv->stats; struct net_device_stats *stats = &ndev->stats;
struct buffer_state *rx_buff = &priv->rx_buff[*last_rx_bd]; struct buffer_state *rx_buff = &priv->rx_buff[*last_rx_bd];
struct arc_emac_bd *rxbd = &priv->rxbd[*last_rx_bd]; struct arc_emac_bd *rxbd = &priv->rxbd[*last_rx_bd];
unsigned int pktlen, info = le32_to_cpu(rxbd->info); unsigned int pktlen, info = le32_to_cpu(rxbd->info);
...@@ -318,7 +318,7 @@ static irqreturn_t arc_emac_intr(int irq, void *dev_instance) ...@@ -318,7 +318,7 @@ static irqreturn_t arc_emac_intr(int irq, void *dev_instance)
{ {
struct net_device *ndev = dev_instance; struct net_device *ndev = dev_instance;
struct arc_emac_priv *priv = netdev_priv(ndev); struct arc_emac_priv *priv = netdev_priv(ndev);
struct net_device_stats *stats = &priv->stats; struct net_device_stats *stats = &ndev->stats;
unsigned int status; unsigned int status;
status = arc_reg_get(priv, R_STATUS); status = arc_reg_get(priv, R_STATUS);
...@@ -529,7 +529,7 @@ static int arc_emac_stop(struct net_device *ndev) ...@@ -529,7 +529,7 @@ static int arc_emac_stop(struct net_device *ndev)
static struct net_device_stats *arc_emac_stats(struct net_device *ndev) static struct net_device_stats *arc_emac_stats(struct net_device *ndev)
{ {
struct arc_emac_priv *priv = netdev_priv(ndev); struct arc_emac_priv *priv = netdev_priv(ndev);
struct net_device_stats *stats = &priv->stats; struct net_device_stats *stats = &ndev->stats;
unsigned long miss, rxerr; unsigned long miss, rxerr;
u8 rxcrc, rxfram, rxoflow; u8 rxcrc, rxfram, rxoflow;
...@@ -565,7 +565,7 @@ static int arc_emac_tx(struct sk_buff *skb, struct net_device *ndev) ...@@ -565,7 +565,7 @@ static int arc_emac_tx(struct sk_buff *skb, struct net_device *ndev)
{ {
struct arc_emac_priv *priv = netdev_priv(ndev); struct arc_emac_priv *priv = netdev_priv(ndev);
unsigned int len, *txbd_curr = &priv->txbd_curr; unsigned int len, *txbd_curr = &priv->txbd_curr;
struct net_device_stats *stats = &priv->stats; struct net_device_stats *stats = &ndev->stats;
__le32 *info = &priv->txbd[*txbd_curr].info; __le32 *info = &priv->txbd[*txbd_curr].info;
dma_addr_t addr; dma_addr_t addr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment