forked from mirrors/linux
		
	net: make ndo_get_stats64 a void function
The network device operation for reading statistics is only called in one place, and it ignores the return value. Having a structure return value is potentially confusing because some future driver could incorrectly assume that the return value was used. Fix all drivers with ndo_get_stats64 to have a void function. Signed-off-by: Stephen Hemminger <sthemmin@microsoft.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
		
							parent
							
								
									63c64de7be
								
							
						
					
					
						commit
						bc1f44709c
					
				
					 82 changed files with 166 additions and 309 deletions
				
			
		|  | @ -211,7 +211,7 @@ static int lacp_fast; | ||||||
| 
 | 
 | ||||||
| static int bond_init(struct net_device *bond_dev); | static int bond_init(struct net_device *bond_dev); | ||||||
| static void bond_uninit(struct net_device *bond_dev); | static void bond_uninit(struct net_device *bond_dev); | ||||||
| static struct rtnl_link_stats64 *bond_get_stats(struct net_device *bond_dev, | static void bond_get_stats(struct net_device *bond_dev, | ||||||
| 			   struct rtnl_link_stats64 *stats); | 			   struct rtnl_link_stats64 *stats); | ||||||
| static void bond_slave_arr_handler(struct work_struct *work); | static void bond_slave_arr_handler(struct work_struct *work); | ||||||
| static bool bond_time_in_interval(struct bonding *bond, unsigned long last_act, | static bool bond_time_in_interval(struct bonding *bond, unsigned long last_act, | ||||||
|  | @ -3337,7 +3337,7 @@ static void bond_fold_stats(struct rtnl_link_stats64 *_res, | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *bond_get_stats(struct net_device *bond_dev, | static void bond_get_stats(struct net_device *bond_dev, | ||||||
| 			   struct rtnl_link_stats64 *stats) | 			   struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct bonding *bond = netdev_priv(bond_dev); | 	struct bonding *bond = netdev_priv(bond_dev); | ||||||
|  | @ -3362,8 +3362,6 @@ static struct rtnl_link_stats64 *bond_get_stats(struct net_device *bond_dev, | ||||||
| 
 | 
 | ||||||
| 	memcpy(&bond->bond_stats, stats, sizeof(*stats)); | 	memcpy(&bond->bond_stats, stats, sizeof(*stats)); | ||||||
| 	spin_unlock(&bond->stats_lock); | 	spin_unlock(&bond->stats_lock); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd) | static int bond_do_ioctl(struct net_device *bond_dev, struct ifreq *ifr, int cmd) | ||||||
|  |  | ||||||
|  | @ -54,7 +54,7 @@ struct pcpu_dstats { | ||||||
| 	struct u64_stats_sync	syncp; | 	struct u64_stats_sync	syncp; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *dummy_get_stats64(struct net_device *dev, | static void dummy_get_stats64(struct net_device *dev, | ||||||
| 			      struct rtnl_link_stats64 *stats) | 			      struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	int i; | 	int i; | ||||||
|  | @ -73,7 +73,6 @@ static struct rtnl_link_stats64 *dummy_get_stats64(struct net_device *dev, | ||||||
| 		stats->tx_bytes += tbytes; | 		stats->tx_bytes += tbytes; | ||||||
| 		stats->tx_packets += tpackets; | 		stats->tx_packets += tpackets; | ||||||
| 	} | 	} | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static netdev_tx_t dummy_xmit(struct sk_buff *skb, struct net_device *dev) | static netdev_tx_t dummy_xmit(struct sk_buff *skb, struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -1471,7 +1471,7 @@ static netdev_tx_t slic_xmit(struct sk_buff *skb, struct net_device *dev) | ||||||
| 	return NETDEV_TX_OK; | 	return NETDEV_TX_OK; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *slic_get_stats(struct net_device *dev, | static void slic_get_stats(struct net_device *dev, | ||||||
| 			   struct rtnl_link_stats64 *lst) | 			   struct rtnl_link_stats64 *lst) | ||||||
| { | { | ||||||
| 	struct slic_device *sdev = netdev_priv(dev); | 	struct slic_device *sdev = netdev_priv(dev); | ||||||
|  | @ -1489,8 +1489,6 @@ static struct rtnl_link_stats64 *slic_get_stats(struct net_device *dev, | ||||||
| 	SLIC_GET_STATS_COUNTER(lst->rx_crc_errors, stats, rx_crc); | 	SLIC_GET_STATS_COUNTER(lst->rx_crc_errors, stats, rx_crc); | ||||||
| 	SLIC_GET_STATS_COUNTER(lst->rx_fifo_errors, stats, rx_oflow802); | 	SLIC_GET_STATS_COUNTER(lst->rx_fifo_errors, stats, rx_oflow802); | ||||||
| 	SLIC_GET_STATS_COUNTER(lst->tx_carrier_errors, stats, tx_carrier); | 	SLIC_GET_STATS_COUNTER(lst->tx_carrier_errors, stats, tx_carrier); | ||||||
| 
 |  | ||||||
| 	return lst; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int slic_get_sset_count(struct net_device *dev, int sset) | static int slic_get_sset_count(struct net_device *dev, int sset) | ||||||
|  |  | ||||||
|  | @ -2165,7 +2165,7 @@ static void ena_config_debug_area(struct ena_adapter *adapter) | ||||||
| 	ena_com_delete_debug_area(adapter->ena_dev); | 	ena_com_delete_debug_area(adapter->ena_dev); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *ena_get_stats64(struct net_device *netdev, | static void ena_get_stats64(struct net_device *netdev, | ||||||
| 			    struct rtnl_link_stats64 *stats) | 			    struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct ena_adapter *adapter = netdev_priv(netdev); | 	struct ena_adapter *adapter = netdev_priv(netdev); | ||||||
|  | @ -2173,11 +2173,11 @@ static struct rtnl_link_stats64 *ena_get_stats64(struct net_device *netdev, | ||||||
| 	int rc; | 	int rc; | ||||||
| 
 | 
 | ||||||
| 	if (!test_bit(ENA_FLAG_DEV_UP, &adapter->flags)) | 	if (!test_bit(ENA_FLAG_DEV_UP, &adapter->flags)) | ||||||
| 		return NULL; | 		return; | ||||||
| 
 | 
 | ||||||
| 	rc = ena_com_get_dev_basic_stats(adapter->ena_dev, &ena_stats); | 	rc = ena_com_get_dev_basic_stats(adapter->ena_dev, &ena_stats); | ||||||
| 	if (rc) | 	if (rc) | ||||||
| 		return NULL; | 		return; | ||||||
| 
 | 
 | ||||||
| 	stats->tx_bytes = ((u64)ena_stats.tx_bytes_high << 32) | | 	stats->tx_bytes = ((u64)ena_stats.tx_bytes_high << 32) | | ||||||
| 		ena_stats.tx_bytes_low; | 		ena_stats.tx_bytes_low; | ||||||
|  | @ -2204,8 +2204,6 @@ static struct rtnl_link_stats64 *ena_get_stats64(struct net_device *netdev, | ||||||
| 
 | 
 | ||||||
| 	stats->rx_errors = 0; | 	stats->rx_errors = 0; | ||||||
| 	stats->tx_errors = 0; | 	stats->tx_errors = 0; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static const struct net_device_ops ena_netdev_ops = { | static const struct net_device_ops ena_netdev_ops = { | ||||||
|  |  | ||||||
|  | @ -1759,7 +1759,7 @@ static void xgbe_tx_timeout(struct net_device *netdev) | ||||||
| 	schedule_work(&pdata->restart_work); | 	schedule_work(&pdata->restart_work); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *xgbe_get_stats64(struct net_device *netdev, | static void xgbe_get_stats64(struct net_device *netdev, | ||||||
| 			     struct rtnl_link_stats64 *s) | 			     struct rtnl_link_stats64 *s) | ||||||
| { | { | ||||||
| 	struct xgbe_prv_data *pdata = netdev_priv(netdev); | 	struct xgbe_prv_data *pdata = netdev_priv(netdev); | ||||||
|  | @ -1786,8 +1786,6 @@ static struct rtnl_link_stats64 *xgbe_get_stats64(struct net_device *netdev, | ||||||
| 	s->tx_dropped = netdev->stats.tx_dropped; | 	s->tx_dropped = netdev->stats.tx_dropped; | ||||||
| 
 | 
 | ||||||
| 	DBGPR("<--%s\n", __func__); | 	DBGPR("<--%s\n", __func__); | ||||||
| 
 |  | ||||||
| 	return s; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int xgbe_vlan_rx_add_vid(struct net_device *netdev, __be16 proto, | static int xgbe_vlan_rx_add_vid(struct net_device *netdev, __be16 proto, | ||||||
|  |  | ||||||
|  | @ -1453,7 +1453,7 @@ static int xgene_enet_create_desc_rings(struct net_device *ndev) | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *xgene_enet_get_stats64( | static void xgene_enet_get_stats64( | ||||||
| 			struct net_device *ndev, | 			struct net_device *ndev, | ||||||
| 			struct rtnl_link_stats64 *storage) | 			struct rtnl_link_stats64 *storage) | ||||||
| { | { | ||||||
|  | @ -1484,8 +1484,6 @@ static struct rtnl_link_stats64 *xgene_enet_get_stats64( | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	memcpy(storage, stats, sizeof(struct rtnl_link_stats64)); | 	memcpy(storage, stats, sizeof(struct rtnl_link_stats64)); | ||||||
| 
 |  | ||||||
| 	return storage; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int xgene_enet_set_mac_address(struct net_device *ndev, void *addr) | static int xgene_enet_set_mac_address(struct net_device *ndev, void *addr) | ||||||
|  |  | ||||||
|  | @ -1643,7 +1643,7 @@ static void alx_poll_controller(struct net_device *netdev) | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *alx_get_stats64(struct net_device *dev, | static void alx_get_stats64(struct net_device *dev, | ||||||
| 			    struct rtnl_link_stats64 *net_stats) | 			    struct rtnl_link_stats64 *net_stats) | ||||||
| { | { | ||||||
| 	struct alx_priv *alx = netdev_priv(dev); | 	struct alx_priv *alx = netdev_priv(dev); | ||||||
|  | @ -1688,8 +1688,6 @@ static struct rtnl_link_stats64 *alx_get_stats64(struct net_device *dev, | ||||||
| 	net_stats->rx_packets = hw_stats->rx_ok + net_stats->rx_errors; | 	net_stats->rx_packets = hw_stats->rx_ok + net_stats->rx_errors; | ||||||
| 
 | 
 | ||||||
| 	spin_unlock(&alx->stats_lock); | 	spin_unlock(&alx->stats_lock); | ||||||
| 
 |  | ||||||
| 	return net_stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static const struct net_device_ops alx_netdev_ops = { | static const struct net_device_ops alx_netdev_ops = { | ||||||
|  |  | ||||||
|  | @ -1674,7 +1674,7 @@ static int b44_close(struct net_device *dev) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *b44_get_stats64(struct net_device *dev, | static void b44_get_stats64(struct net_device *dev, | ||||||
| 			    struct rtnl_link_stats64 *nstat) | 			    struct rtnl_link_stats64 *nstat) | ||||||
| { | { | ||||||
| 	struct b44 *bp = netdev_priv(dev); | 	struct b44 *bp = netdev_priv(dev); | ||||||
|  | @ -1718,7 +1718,6 @@ static struct rtnl_link_stats64 *b44_get_stats64(struct net_device *dev, | ||||||
| #endif | #endif | ||||||
| 	} while (u64_stats_fetch_retry_irq(&hwstat->syncp, start)); | 	} while (u64_stats_fetch_retry_irq(&hwstat->syncp, start)); | ||||||
| 
 | 
 | ||||||
| 	return nstat; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int __b44_load_mcast(struct b44 *bp, struct net_device *dev) | static int __b44_load_mcast(struct b44 *bp, struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -6821,13 +6821,13 @@ bnx2_save_stats(struct bnx2 *bp) | ||||||
| 	(unsigned long) (bp->stats_blk->ctr +			\ | 	(unsigned long) (bp->stats_blk->ctr +			\ | ||||||
| 			 bp->temp_stats_blk->ctr) | 			 bp->temp_stats_blk->ctr) | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| bnx2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats) | bnx2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats) | ||||||
| { | { | ||||||
| 	struct bnx2 *bp = netdev_priv(dev); | 	struct bnx2 *bp = netdev_priv(dev); | ||||||
| 
 | 
 | ||||||
| 	if (bp->stats_blk == NULL) | 	if (bp->stats_blk == NULL) | ||||||
| 		return net_stats; | 		return; | ||||||
| 
 | 
 | ||||||
| 	net_stats->rx_packets = | 	net_stats->rx_packets = | ||||||
| 		GET_64BIT_NET_STATS(stat_IfHCInUcastPkts) + | 		GET_64BIT_NET_STATS(stat_IfHCInUcastPkts) + | ||||||
|  | @ -6891,7 +6891,6 @@ bnx2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats) | ||||||
| 		GET_32BIT_NET_STATS(stat_IfInMBUFDiscards) + | 		GET_32BIT_NET_STATS(stat_IfInMBUFDiscards) + | ||||||
| 		GET_32BIT_NET_STATS(stat_FwRxDrop); | 		GET_32BIT_NET_STATS(stat_FwRxDrop); | ||||||
| 
 | 
 | ||||||
| 	return net_stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* All ethtool functions called with rtnl_lock */ | /* All ethtool functions called with rtnl_lock */ | ||||||
|  |  | ||||||
|  | @ -5879,7 +5879,7 @@ static int bnxt_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | ||||||
| 	return -EOPNOTSUPP; | 	return -EOPNOTSUPP; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| bnxt_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | bnxt_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	u32 i; | 	u32 i; | ||||||
|  | @ -5888,7 +5888,7 @@ bnxt_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 	memset(stats, 0, sizeof(struct rtnl_link_stats64)); | 	memset(stats, 0, sizeof(struct rtnl_link_stats64)); | ||||||
| 
 | 
 | ||||||
| 	if (!bp->bnapi) | 	if (!bp->bnapi) | ||||||
| 		return stats; | 		return; | ||||||
| 
 | 
 | ||||||
| 	/* TODO check if we need to synchronize with bnxt_close path */ | 	/* TODO check if we need to synchronize with bnxt_close path */ | ||||||
| 	for (i = 0; i < bp->cp_nr_rings; i++) { | 	for (i = 0; i < bp->cp_nr_rings; i++) { | ||||||
|  | @ -5935,8 +5935,6 @@ bnxt_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 		stats->tx_fifo_errors = le64_to_cpu(tx->tx_fifo_underruns); | 		stats->tx_fifo_errors = le64_to_cpu(tx->tx_fifo_underruns); | ||||||
| 		stats->tx_errors = le64_to_cpu(tx->tx_err); | 		stats->tx_errors = le64_to_cpu(tx->tx_err); | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static bool bnxt_mc_list_updated(struct bnxt *bp, u32 *rx_mask) | static bool bnxt_mc_list_updated(struct bnxt *bp, u32 *rx_mask) | ||||||
|  |  | ||||||
|  | @ -14142,7 +14142,7 @@ static const struct ethtool_ops tg3_ethtool_ops = { | ||||||
| 	.set_link_ksettings	= tg3_set_link_ksettings, | 	.set_link_ksettings	= tg3_set_link_ksettings, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, | static void tg3_get_stats64(struct net_device *dev, | ||||||
| 			    struct rtnl_link_stats64 *stats) | 			    struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct tg3 *tp = netdev_priv(dev); | 	struct tg3 *tp = netdev_priv(dev); | ||||||
|  | @ -14151,13 +14151,11 @@ static struct rtnl_link_stats64 *tg3_get_stats64(struct net_device *dev, | ||||||
| 	if (!tp->hw_stats) { | 	if (!tp->hw_stats) { | ||||||
| 		*stats = tp->net_stats_prev; | 		*stats = tp->net_stats_prev; | ||||||
| 		spin_unlock_bh(&tp->lock); | 		spin_unlock_bh(&tp->lock); | ||||||
| 		return stats; | 		return; | ||||||
| 	} | 	} | ||||||
| 
 | 
 | ||||||
| 	tg3_get_nstats(tp, stats); | 	tg3_get_nstats(tp, stats); | ||||||
| 	spin_unlock_bh(&tp->lock); | 	spin_unlock_bh(&tp->lock); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void tg3_set_rx_mode(struct net_device *dev) | static void tg3_set_rx_mode(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -3111,7 +3111,7 @@ bnad_start_xmit(struct sk_buff *skb, struct net_device *netdev) | ||||||
|  * Used spin_lock to synchronize reading of stats structures, which |  * Used spin_lock to synchronize reading of stats structures, which | ||||||
|  * is written by BNA under the same lock. |  * is written by BNA under the same lock. | ||||||
|  */ |  */ | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| bnad_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats) | bnad_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct bnad *bnad = netdev_priv(netdev); | 	struct bnad *bnad = netdev_priv(netdev); | ||||||
|  | @ -3123,8 +3123,6 @@ bnad_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats) | ||||||
| 	bnad_netdev_hwstats_fill(bnad, stats); | 	bnad_netdev_hwstats_fill(bnad, stats); | ||||||
| 
 | 
 | ||||||
| 	spin_unlock_irqrestore(&bnad->bna_lock, flags); | 	spin_unlock_irqrestore(&bnad->bna_lock, flags); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void | static void | ||||||
|  |  | ||||||
|  | @ -1446,7 +1446,7 @@ static void xgmac_poll_controller(struct net_device *dev) | ||||||
| } | } | ||||||
| #endif | #endif | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| xgmac_get_stats64(struct net_device *dev, | xgmac_get_stats64(struct net_device *dev, | ||||||
| 		  struct rtnl_link_stats64 *storage) | 		  struct rtnl_link_stats64 *storage) | ||||||
| { | { | ||||||
|  | @ -1476,7 +1476,6 @@ xgmac_get_stats64(struct net_device *dev, | ||||||
| 
 | 
 | ||||||
| 	writel(0, base + XGMAC_MMC_CTRL); | 	writel(0, base + XGMAC_MMC_CTRL); | ||||||
| 	spin_unlock_bh(&priv->stats_lock); | 	spin_unlock_bh(&priv->stats_lock); | ||||||
| 	return storage; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int xgmac_set_mac_address(struct net_device *dev, void *p) | static int xgmac_set_mac_address(struct net_device *dev, void *p) | ||||||
|  |  | ||||||
|  | @ -1461,7 +1461,7 @@ void nicvf_update_stats(struct nicvf *nic) | ||||||
| 		nicvf_update_sq_stats(nic, qidx); | 		nicvf_update_sq_stats(nic, qidx); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *nicvf_get_stats64(struct net_device *netdev, | static void nicvf_get_stats64(struct net_device *netdev, | ||||||
| 			      struct rtnl_link_stats64 *stats) | 			      struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct nicvf *nic = netdev_priv(netdev); | 	struct nicvf *nic = netdev_priv(netdev); | ||||||
|  | @ -1478,7 +1478,6 @@ static struct rtnl_link_stats64 *nicvf_get_stats64(struct net_device *netdev, | ||||||
| 	stats->tx_packets = hw_stats->tx_frames; | 	stats->tx_packets = hw_stats->tx_frames; | ||||||
| 	stats->tx_dropped = hw_stats->tx_drops; | 	stats->tx_dropped = hw_stats->tx_drops; | ||||||
| 
 | 
 | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void nicvf_tx_timeout(struct net_device *dev) | static void nicvf_tx_timeout(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -2375,7 +2375,7 @@ int cxgb4_remove_server_filter(const struct net_device *dev, unsigned int stid, | ||||||
| } | } | ||||||
| EXPORT_SYMBOL(cxgb4_remove_server_filter); | EXPORT_SYMBOL(cxgb4_remove_server_filter); | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *cxgb_get_stats(struct net_device *dev, | static void cxgb_get_stats(struct net_device *dev, | ||||||
| 			   struct rtnl_link_stats64 *ns) | 			   struct rtnl_link_stats64 *ns) | ||||||
| { | { | ||||||
| 	struct port_stats stats; | 	struct port_stats stats; | ||||||
|  | @ -2389,7 +2389,7 @@ static struct rtnl_link_stats64 *cxgb_get_stats(struct net_device *dev, | ||||||
| 	spin_lock(&adapter->stats_lock); | 	spin_lock(&adapter->stats_lock); | ||||||
| 	if (!netif_device_present(dev)) { | 	if (!netif_device_present(dev)) { | ||||||
| 		spin_unlock(&adapter->stats_lock); | 		spin_unlock(&adapter->stats_lock); | ||||||
| 		return ns; | 		return; | ||||||
| 	} | 	} | ||||||
| 	t4_get_port_stats_offset(adapter, p->tx_chan, &stats, | 	t4_get_port_stats_offset(adapter, p->tx_chan, &stats, | ||||||
| 				 &p->stats_base); | 				 &p->stats_base); | ||||||
|  | @ -2423,7 +2423,6 @@ static struct rtnl_link_stats64 *cxgb_get_stats(struct net_device *dev, | ||||||
| 	ns->tx_errors = stats.tx_error_frames; | 	ns->tx_errors = stats.tx_error_frames; | ||||||
| 	ns->rx_errors = stats.rx_symbol_err + stats.rx_fcs_err + | 	ns->rx_errors = stats.rx_symbol_err + stats.rx_fcs_err + | ||||||
| 		ns->rx_length_errors + stats.rx_len_err + ns->rx_fifo_errors; | 		ns->rx_length_errors + stats.rx_len_err + ns->rx_fifo_errors; | ||||||
| 	return ns; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int cxgb_ioctl(struct net_device *dev, struct ifreq *req, int cmd) | static int cxgb_ioctl(struct net_device *dev, struct ifreq *req, int cmd) | ||||||
|  |  | ||||||
|  | @ -680,7 +680,7 @@ static netdev_tx_t enic_hard_start_xmit(struct sk_buff *skb, | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* dev_base_lock rwlock held, nominally process context */ | /* dev_base_lock rwlock held, nominally process context */ | ||||||
| static struct rtnl_link_stats64 *enic_get_stats(struct net_device *netdev, | static void enic_get_stats(struct net_device *netdev, | ||||||
| 			   struct rtnl_link_stats64 *net_stats) | 			   struct rtnl_link_stats64 *net_stats) | ||||||
| { | { | ||||||
| 	struct enic *enic = netdev_priv(netdev); | 	struct enic *enic = netdev_priv(netdev); | ||||||
|  | @ -693,7 +693,7 @@ static struct rtnl_link_stats64 *enic_get_stats(struct net_device *netdev, | ||||||
| 	 * recorded stats. | 	 * recorded stats. | ||||||
| 	 */ | 	 */ | ||||||
| 	if (err == -ENOMEM) | 	if (err == -ENOMEM) | ||||||
| 		return net_stats; | 		return; | ||||||
| 
 | 
 | ||||||
| 	net_stats->tx_packets = stats->tx.tx_frames_ok; | 	net_stats->tx_packets = stats->tx.tx_frames_ok; | ||||||
| 	net_stats->tx_bytes = stats->tx.tx_bytes_ok; | 	net_stats->tx_bytes = stats->tx.tx_bytes_ok; | ||||||
|  | @ -707,8 +707,6 @@ static struct rtnl_link_stats64 *enic_get_stats(struct net_device *netdev, | ||||||
| 	net_stats->rx_over_errors = enic->rq_truncated_pkts; | 	net_stats->rx_over_errors = enic->rq_truncated_pkts; | ||||||
| 	net_stats->rx_crc_errors = enic->rq_bad_fcs; | 	net_stats->rx_crc_errors = enic->rq_bad_fcs; | ||||||
| 	net_stats->rx_dropped = stats->rx.rx_no_bufs + stats->rx.rx_drop; | 	net_stats->rx_dropped = stats->rx.rx_no_bufs + stats->rx.rx_drop; | ||||||
| 
 |  | ||||||
| 	return net_stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int enic_mc_sync(struct net_device *netdev, const u8 *mc_addr) | static int enic_mc_sync(struct net_device *netdev, const u8 *mc_addr) | ||||||
|  |  | ||||||
|  | @ -457,7 +457,7 @@ static int ec_bhf_stop(struct net_device *net_dev) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| ec_bhf_get_stats(struct net_device *net_dev, | ec_bhf_get_stats(struct net_device *net_dev, | ||||||
| 		 struct rtnl_link_stats64 *stats) | 		 struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
|  | @ -472,8 +472,6 @@ ec_bhf_get_stats(struct net_device *net_dev, | ||||||
| 
 | 
 | ||||||
| 	stats->tx_bytes = priv->stat_tx_bytes; | 	stats->tx_bytes = priv->stat_tx_bytes; | ||||||
| 	stats->rx_bytes = priv->stat_rx_bytes; | 	stats->rx_bytes = priv->stat_rx_bytes; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static const struct net_device_ops ec_bhf_netdev_ops = { | static const struct net_device_ops ec_bhf_netdev_ops = { | ||||||
|  |  | ||||||
|  | @ -639,7 +639,7 @@ void be_parse_stats(struct be_adapter *adapter) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *be_get_stats64(struct net_device *netdev, | static void be_get_stats64(struct net_device *netdev, | ||||||
| 			   struct rtnl_link_stats64 *stats) | 			   struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct be_adapter *adapter = netdev_priv(netdev); | 	struct be_adapter *adapter = netdev_priv(netdev); | ||||||
|  | @ -704,7 +704,6 @@ static struct rtnl_link_stats64 *be_get_stats64(struct net_device *netdev, | ||||||
| 	stats->rx_fifo_errors = drvs->rxpp_fifo_overflow_drop + | 	stats->rx_fifo_errors = drvs->rxpp_fifo_overflow_drop + | ||||||
| 				drvs->rx_input_fifo_overflow_drop + | 				drvs->rx_input_fifo_overflow_drop + | ||||||
| 				drvs->rx_drops_no_pbuf; | 				drvs->rx_drops_no_pbuf; | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| void be_link_status_update(struct be_adapter *adapter, u8 link_status) | void be_link_status_update(struct be_adapter *adapter, u8 link_status) | ||||||
|  |  | ||||||
|  | @ -313,7 +313,7 @@ static void dpaa_tx_timeout(struct net_device *net_dev) | ||||||
| /* Calculates the statistics for the given device by adding the statistics
 | /* Calculates the statistics for the given device by adding the statistics
 | ||||||
|  * collected by each CPU. |  * collected by each CPU. | ||||||
|  */ |  */ | ||||||
| static struct rtnl_link_stats64 *dpaa_get_stats64(struct net_device *net_dev, | static void dpaa_get_stats64(struct net_device *net_dev, | ||||||
| 			     struct rtnl_link_stats64 *s) | 			     struct rtnl_link_stats64 *s) | ||||||
| { | { | ||||||
| 	int numstats = sizeof(struct rtnl_link_stats64) / sizeof(u64); | 	int numstats = sizeof(struct rtnl_link_stats64) / sizeof(u64); | ||||||
|  | @ -332,8 +332,6 @@ static struct rtnl_link_stats64 *dpaa_get_stats64(struct net_device *net_dev, | ||||||
| 		for (j = 0; j < numstats; j++) | 		for (j = 0; j < numstats; j++) | ||||||
| 			netstats[j] += cpustats[j]; | 			netstats[j] += cpustats[j]; | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return s; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct mac_device *dpaa_mac_dev_get(struct platform_device *pdev) | static struct mac_device *dpaa_mac_dev_get(struct platform_device *pdev) | ||||||
|  |  | ||||||
|  | @ -1625,7 +1625,7 @@ void hns_nic_set_rx_mode(struct net_device *ndev) | ||||||
| 		netdev_err(ndev, "sync uc address fail\n"); | 		netdev_err(ndev, "sync uc address fail\n"); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| struct rtnl_link_stats64 *hns_nic_get_stats64(struct net_device *ndev, | static void hns_nic_get_stats64(struct net_device *ndev, | ||||||
| 				struct rtnl_link_stats64 *stats) | 				struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	int idx = 0; | 	int idx = 0; | ||||||
|  | @ -1668,8 +1668,6 @@ struct rtnl_link_stats64 *hns_nic_get_stats64(struct net_device *ndev, | ||||||
| 	stats->tx_window_errors = ndev->stats.tx_window_errors; | 	stats->tx_window_errors = ndev->stats.tx_window_errors; | ||||||
| 	stats->rx_compressed = ndev->stats.rx_compressed; | 	stats->rx_compressed = ndev->stats.rx_compressed; | ||||||
| 	stats->tx_compressed = ndev->stats.tx_compressed; | 	stats->tx_compressed = ndev->stats.tx_compressed; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static u16 | static u16 | ||||||
|  |  | ||||||
|  | @ -328,7 +328,7 @@ static void ehea_update_bcmc_registrations(void) | ||||||
| 	spin_unlock_irqrestore(&ehea_bcmc_regs.lock, flags); | 	spin_unlock_irqrestore(&ehea_bcmc_regs.lock, flags); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *ehea_get_stats64(struct net_device *dev, | static void ehea_get_stats64(struct net_device *dev, | ||||||
| 			     struct rtnl_link_stats64 *stats) | 			     struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct ehea_port *port = netdev_priv(dev); | 	struct ehea_port *port = netdev_priv(dev); | ||||||
|  | @ -352,7 +352,6 @@ static struct rtnl_link_stats64 *ehea_get_stats64(struct net_device *dev, | ||||||
| 
 | 
 | ||||||
| 	stats->multicast = port->stats.multicast; | 	stats->multicast = port->stats.multicast; | ||||||
| 	stats->rx_errors = port->stats.rx_errors; | 	stats->rx_errors = port->stats.rx_errors; | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void ehea_update_stats(struct work_struct *work) | static void ehea_update_stats(struct work_struct *work) | ||||||
|  |  | ||||||
|  | @ -493,7 +493,7 @@ int e1000e_setup_rx_resources(struct e1000_ring *ring); | ||||||
| int e1000e_setup_tx_resources(struct e1000_ring *ring); | int e1000e_setup_tx_resources(struct e1000_ring *ring); | ||||||
| void e1000e_free_rx_resources(struct e1000_ring *ring); | void e1000e_free_rx_resources(struct e1000_ring *ring); | ||||||
| void e1000e_free_tx_resources(struct e1000_ring *ring); | void e1000e_free_tx_resources(struct e1000_ring *ring); | ||||||
| struct rtnl_link_stats64 *e1000e_get_stats64(struct net_device *netdev, | void e1000e_get_stats64(struct net_device *netdev, | ||||||
| 			struct rtnl_link_stats64 *stats); | 			struct rtnl_link_stats64 *stats); | ||||||
| void e1000e_set_interrupt_capability(struct e1000_adapter *adapter); | void e1000e_set_interrupt_capability(struct e1000_adapter *adapter); | ||||||
| void e1000e_reset_interrupt_capability(struct e1000_adapter *adapter); | void e1000e_reset_interrupt_capability(struct e1000_adapter *adapter); | ||||||
|  |  | ||||||
|  | @ -5920,7 +5920,7 @@ static void e1000_reset_task(struct work_struct *work) | ||||||
|  * |  * | ||||||
|  * Returns the address of the device statistics structure. |  * Returns the address of the device statistics structure. | ||||||
|  **/ |  **/ | ||||||
| struct rtnl_link_stats64 *e1000e_get_stats64(struct net_device *netdev, | void e1000e_get_stats64(struct net_device *netdev, | ||||||
| 			struct rtnl_link_stats64 *stats) | 			struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct e1000_adapter *adapter = netdev_priv(netdev); | 	struct e1000_adapter *adapter = netdev_priv(netdev); | ||||||
|  | @ -5958,7 +5958,6 @@ struct rtnl_link_stats64 *e1000e_get_stats64(struct net_device *netdev, | ||||||
| 	/* Tx Dropped needs to be maintained elsewhere */ | 	/* Tx Dropped needs to be maintained elsewhere */ | ||||||
| 
 | 
 | ||||||
| 	spin_unlock(&adapter->stats64_lock); | 	spin_unlock(&adapter->stats64_lock); | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  |  | ||||||
|  | @ -1118,7 +1118,7 @@ void fm10k_reset_rx_state(struct fm10k_intfc *interface) | ||||||
|  * Returns 64bit statistics, for use in the ndo_get_stats64 callback. This |  * Returns 64bit statistics, for use in the ndo_get_stats64 callback. This | ||||||
|  * function replaces fm10k_get_stats for kernels which support it. |  * function replaces fm10k_get_stats for kernels which support it. | ||||||
|  */ |  */ | ||||||
| static struct rtnl_link_stats64 *fm10k_get_stats64(struct net_device *netdev, | static void fm10k_get_stats64(struct net_device *netdev, | ||||||
| 			      struct rtnl_link_stats64 *stats) | 			      struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct fm10k_intfc *interface = netdev_priv(netdev); | 	struct fm10k_intfc *interface = netdev_priv(netdev); | ||||||
|  | @ -1164,8 +1164,6 @@ static struct rtnl_link_stats64 *fm10k_get_stats64(struct net_device *netdev, | ||||||
| 
 | 
 | ||||||
| 	/* following stats updated by fm10k_service_task() */ | 	/* following stats updated by fm10k_service_task() */ | ||||||
| 	stats->rx_missed_errors	= netdev->stats.rx_missed_errors; | 	stats->rx_missed_errors	= netdev->stats.rx_missed_errors; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int fm10k_setup_tc(struct net_device *dev, u8 tc) | int fm10k_setup_tc(struct net_device *dev, u8 tc) | ||||||
|  |  | ||||||
|  | @ -834,8 +834,7 @@ static inline void i40e_irq_dynamic_enable(struct i40e_vsi *vsi, int vector) | ||||||
| void i40e_irq_dynamic_disable_icr0(struct i40e_pf *pf); | void i40e_irq_dynamic_disable_icr0(struct i40e_pf *pf); | ||||||
| void i40e_irq_dynamic_enable_icr0(struct i40e_pf *pf, bool clearpba); | void i40e_irq_dynamic_enable_icr0(struct i40e_pf *pf, bool clearpba); | ||||||
| #ifdef I40E_FCOE | #ifdef I40E_FCOE | ||||||
| struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( | void i40e_get_netdev_stats_struct(struct net_device *netdev, | ||||||
| 					     struct net_device *netdev, |  | ||||||
| 				  struct rtnl_link_stats64 *storage); | 				  struct rtnl_link_stats64 *storage); | ||||||
| int i40e_set_mac(struct net_device *netdev, void *p); | int i40e_set_mac(struct net_device *netdev, void *p); | ||||||
| void i40e_set_rx_mode(struct net_device *netdev); | void i40e_set_rx_mode(struct net_device *netdev); | ||||||
|  |  | ||||||
|  | @ -409,15 +409,11 @@ struct rtnl_link_stats64 *i40e_get_vsi_stats_struct(struct i40e_vsi *vsi) | ||||||
|  * Returns the address of the device statistics structure. |  * Returns the address of the device statistics structure. | ||||||
|  * The statistics are actually updated from the service task. |  * The statistics are actually updated from the service task. | ||||||
|  **/ |  **/ | ||||||
| #ifdef I40E_FCOE | #ifndef I40E_FCOE | ||||||
| struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( | static | ||||||
| 					     struct net_device *netdev, |  | ||||||
| 					     struct rtnl_link_stats64 *stats) |  | ||||||
| #else |  | ||||||
| static struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( |  | ||||||
| 					     struct net_device *netdev, |  | ||||||
| 					     struct rtnl_link_stats64 *stats) |  | ||||||
| #endif | #endif | ||||||
|  | void i40e_get_netdev_stats_struct(struct net_device *netdev, | ||||||
|  | 				  struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct i40e_netdev_priv *np = netdev_priv(netdev); | 	struct i40e_netdev_priv *np = netdev_priv(netdev); | ||||||
| 	struct i40e_ring *tx_ring, *rx_ring; | 	struct i40e_ring *tx_ring, *rx_ring; | ||||||
|  | @ -426,10 +422,10 @@ static struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( | ||||||
| 	int i; | 	int i; | ||||||
| 
 | 
 | ||||||
| 	if (test_bit(__I40E_DOWN, &vsi->state)) | 	if (test_bit(__I40E_DOWN, &vsi->state)) | ||||||
| 		return stats; | 		return; | ||||||
| 
 | 
 | ||||||
| 	if (!vsi->tx_rings) | 	if (!vsi->tx_rings) | ||||||
| 		return stats; | 		return; | ||||||
| 
 | 
 | ||||||
| 	rcu_read_lock(); | 	rcu_read_lock(); | ||||||
| 	for (i = 0; i < vsi->num_queue_pairs; i++) { | 	for (i = 0; i < vsi->num_queue_pairs; i++) { | ||||||
|  | @ -469,8 +465,6 @@ static struct rtnl_link_stats64 *i40e_get_netdev_stats_struct( | ||||||
| 	stats->rx_dropped	= vsi_stats->rx_dropped; | 	stats->rx_dropped	= vsi_stats->rx_dropped; | ||||||
| 	stats->rx_crc_errors	= vsi_stats->rx_crc_errors; | 	stats->rx_crc_errors	= vsi_stats->rx_crc_errors; | ||||||
| 	stats->rx_length_errors	= vsi_stats->rx_length_errors; | 	stats->rx_length_errors	= vsi_stats->rx_length_errors; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  |  | ||||||
|  | @ -137,7 +137,7 @@ static void igb_update_phy_info(unsigned long); | ||||||
| static void igb_watchdog(unsigned long); | static void igb_watchdog(unsigned long); | ||||||
| static void igb_watchdog_task(struct work_struct *); | static void igb_watchdog_task(struct work_struct *); | ||||||
| static netdev_tx_t igb_xmit_frame(struct sk_buff *skb, struct net_device *); | static netdev_tx_t igb_xmit_frame(struct sk_buff *skb, struct net_device *); | ||||||
| static struct rtnl_link_stats64 *igb_get_stats64(struct net_device *dev, | static void igb_get_stats64(struct net_device *dev, | ||||||
| 			    struct rtnl_link_stats64 *stats); | 			    struct rtnl_link_stats64 *stats); | ||||||
| static int igb_change_mtu(struct net_device *, int); | static int igb_change_mtu(struct net_device *, int); | ||||||
| static int igb_set_mac(struct net_device *, void *); | static int igb_set_mac(struct net_device *, void *); | ||||||
|  | @ -5404,7 +5404,7 @@ static void igb_reset_task(struct work_struct *work) | ||||||
|  *  @netdev: network interface device structure |  *  @netdev: network interface device structure | ||||||
|  *  @stats: rtnl_link_stats64 pointer |  *  @stats: rtnl_link_stats64 pointer | ||||||
|  **/ |  **/ | ||||||
| static struct rtnl_link_stats64 *igb_get_stats64(struct net_device *netdev, | static void igb_get_stats64(struct net_device *netdev, | ||||||
| 			    struct rtnl_link_stats64 *stats) | 			    struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct igb_adapter *adapter = netdev_priv(netdev); | 	struct igb_adapter *adapter = netdev_priv(netdev); | ||||||
|  | @ -5413,8 +5413,6 @@ static struct rtnl_link_stats64 *igb_get_stats64(struct net_device *netdev, | ||||||
| 	igb_update_stats(adapter, &adapter->stats64); | 	igb_update_stats(adapter, &adapter->stats64); | ||||||
| 	memcpy(stats, &adapter->stats64, sizeof(*stats)); | 	memcpy(stats, &adapter->stats64, sizeof(*stats)); | ||||||
| 	spin_unlock(&adapter->stats64_lock); | 	spin_unlock(&adapter->stats64_lock); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /**
 | /**
 | ||||||
|  |  | ||||||
|  | @ -8173,7 +8173,8 @@ static void ixgbe_netpoll(struct net_device *netdev) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #endif | #endif | ||||||
| static struct rtnl_link_stats64 *ixgbe_get_stats64(struct net_device *netdev, | 
 | ||||||
|  | static void ixgbe_get_stats64(struct net_device *netdev, | ||||||
| 			      struct rtnl_link_stats64 *stats) | 			      struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct ixgbe_adapter *adapter = netdev_priv(netdev); | 	struct ixgbe_adapter *adapter = netdev_priv(netdev); | ||||||
|  | @ -8212,13 +8213,13 @@ static struct rtnl_link_stats64 *ixgbe_get_stats64(struct net_device *netdev, | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| 	rcu_read_unlock(); | 	rcu_read_unlock(); | ||||||
|  | 
 | ||||||
| 	/* following stats updated by ixgbe_watchdog_task() */ | 	/* following stats updated by ixgbe_watchdog_task() */ | ||||||
| 	stats->multicast	= netdev->stats.multicast; | 	stats->multicast	= netdev->stats.multicast; | ||||||
| 	stats->rx_errors	= netdev->stats.rx_errors; | 	stats->rx_errors	= netdev->stats.rx_errors; | ||||||
| 	stats->rx_length_errors	= netdev->stats.rx_length_errors; | 	stats->rx_length_errors	= netdev->stats.rx_length_errors; | ||||||
| 	stats->rx_crc_errors	= netdev->stats.rx_crc_errors; | 	stats->rx_crc_errors	= netdev->stats.rx_crc_errors; | ||||||
| 	stats->rx_missed_errors	= netdev->stats.rx_missed_errors; | 	stats->rx_missed_errors	= netdev->stats.rx_missed_errors; | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_IXGBE_DCB | #ifdef CONFIG_IXGBE_DCB | ||||||
|  |  | ||||||
|  | @ -3896,7 +3896,7 @@ static void ixgbevf_shutdown(struct pci_dev *pdev) | ||||||
| 	ixgbevf_suspend(pdev, PMSG_SUSPEND); | 	ixgbevf_suspend(pdev, PMSG_SUSPEND); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *ixgbevf_get_stats(struct net_device *netdev, | static void ixgbevf_get_stats(struct net_device *netdev, | ||||||
| 			      struct rtnl_link_stats64 *stats) | 			      struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct ixgbevf_adapter *adapter = netdev_priv(netdev); | 	struct ixgbevf_adapter *adapter = netdev_priv(netdev); | ||||||
|  | @ -3930,8 +3930,6 @@ static struct rtnl_link_stats64 *ixgbevf_get_stats(struct net_device *netdev, | ||||||
| 		stats->tx_bytes += bytes; | 		stats->tx_bytes += bytes; | ||||||
| 		stats->tx_packets += packets; | 		stats->tx_packets += packets; | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #define IXGBEVF_MAX_MAC_HDR_LEN		127 | #define IXGBEVF_MAX_MAC_HDR_LEN		127 | ||||||
|  |  | ||||||
|  | @ -652,7 +652,7 @@ static void mvneta_mib_counters_clear(struct mvneta_port *pp) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Get System Network Statistics */ | /* Get System Network Statistics */ | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| mvneta_get_stats64(struct net_device *dev, | mvneta_get_stats64(struct net_device *dev, | ||||||
| 		   struct rtnl_link_stats64 *stats) | 		   struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
|  | @ -686,8 +686,6 @@ mvneta_get_stats64(struct net_device *dev, | ||||||
| 	stats->rx_dropped	= dev->stats.rx_dropped; | 	stats->rx_dropped	= dev->stats.rx_dropped; | ||||||
| 
 | 
 | ||||||
| 	stats->tx_dropped	= dev->stats.tx_dropped; | 	stats->tx_dropped	= dev->stats.tx_dropped; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Rx descriptors helper methods */ | /* Rx descriptors helper methods */ | ||||||
|  |  | ||||||
|  | @ -5739,7 +5739,7 @@ static int mvpp2_change_mtu(struct net_device *dev, int mtu) | ||||||
| 	return err; | 	return err; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| mvpp2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | mvpp2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct mvpp2_port *port = netdev_priv(dev); | 	struct mvpp2_port *port = netdev_priv(dev); | ||||||
|  | @ -5771,8 +5771,6 @@ mvpp2_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 	stats->rx_errors	= dev->stats.rx_errors; | 	stats->rx_errors	= dev->stats.rx_errors; | ||||||
| 	stats->rx_dropped	= dev->stats.rx_dropped; | 	stats->rx_dropped	= dev->stats.rx_dropped; | ||||||
| 	stats->tx_dropped	= dev->stats.tx_dropped; | 	stats->tx_dropped	= dev->stats.tx_dropped; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int mvpp2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | static int mvpp2_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | ||||||
|  |  | ||||||
|  | @ -3888,7 +3888,7 @@ static void sky2_set_multicast(struct net_device *dev) | ||||||
| 	gma_write16(hw, port, GM_RX_CTRL, reg); | 	gma_write16(hw, port, GM_RX_CTRL, reg); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *sky2_get_stats(struct net_device *dev, | static void sky2_get_stats(struct net_device *dev, | ||||||
| 			   struct rtnl_link_stats64 *stats) | 			   struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct sky2_port *sky2 = netdev_priv(dev); | 	struct sky2_port *sky2 = netdev_priv(dev); | ||||||
|  | @ -3929,8 +3929,6 @@ static struct rtnl_link_stats64 *sky2_get_stats(struct net_device *dev, | ||||||
| 	stats->rx_dropped = dev->stats.rx_dropped; | 	stats->rx_dropped = dev->stats.rx_dropped; | ||||||
| 	stats->rx_fifo_errors = dev->stats.rx_fifo_errors; | 	stats->rx_fifo_errors = dev->stats.rx_fifo_errors; | ||||||
| 	stats->tx_fifo_errors = dev->stats.tx_fifo_errors; | 	stats->tx_fifo_errors = dev->stats.tx_fifo_errors; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Can have one global because blinking is controlled by
 | /* Can have one global because blinking is controlled by
 | ||||||
|  |  | ||||||
|  | @ -462,7 +462,7 @@ static void mtk_stats_update(struct mtk_eth *eth) | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *mtk_get_stats64(struct net_device *dev, | static void mtk_get_stats64(struct net_device *dev, | ||||||
| 			    struct rtnl_link_stats64 *storage) | 			    struct rtnl_link_stats64 *storage) | ||||||
| { | { | ||||||
| 	struct mtk_mac *mac = netdev_priv(dev); | 	struct mtk_mac *mac = netdev_priv(dev); | ||||||
|  | @ -494,8 +494,6 @@ static struct rtnl_link_stats64 *mtk_get_stats64(struct net_device *dev, | ||||||
| 	storage->tx_errors = dev->stats.tx_errors; | 	storage->tx_errors = dev->stats.tx_errors; | ||||||
| 	storage->rx_dropped = dev->stats.rx_dropped; | 	storage->rx_dropped = dev->stats.rx_dropped; | ||||||
| 	storage->tx_dropped = dev->stats.tx_dropped; | 	storage->tx_dropped = dev->stats.tx_dropped; | ||||||
| 
 |  | ||||||
| 	return storage; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static inline int mtk_max_frag_size(int mtu) | static inline int mtk_max_frag_size(int mtu) | ||||||
|  |  | ||||||
|  | @ -1321,7 +1321,7 @@ static void mlx4_en_tx_timeout(struct net_device *dev) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| mlx4_en_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | mlx4_en_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct mlx4_en_priv *priv = netdev_priv(dev); | 	struct mlx4_en_priv *priv = netdev_priv(dev); | ||||||
|  | @ -1330,8 +1330,6 @@ mlx4_en_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 	mlx4_en_fold_software_stats(dev); | 	mlx4_en_fold_software_stats(dev); | ||||||
| 	netdev_stats_to_stats64(stats, &dev->stats); | 	netdev_stats_to_stats64(stats, &dev->stats); | ||||||
| 	spin_unlock_bh(&priv->stats_lock); | 	spin_unlock_bh(&priv->stats_lock); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void mlx4_en_set_default_moderation(struct mlx4_en_priv *priv) | static void mlx4_en_set_default_moderation(struct mlx4_en_priv *priv) | ||||||
|  |  | ||||||
|  | @ -2686,7 +2686,7 @@ static int mlx5e_ndo_setup_tc(struct net_device *dev, u32 handle, | ||||||
| 	return mlx5e_setup_tc(dev, tc->tc); | 	return mlx5e_setup_tc(dev, tc->tc); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) | mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct mlx5e_priv *priv = netdev_priv(dev); | 	struct mlx5e_priv *priv = netdev_priv(dev); | ||||||
|  | @ -2729,7 +2729,6 @@ mlx5e_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 	stats->multicast = | 	stats->multicast = | ||||||
| 		VPORT_COUNTER_GET(vstats, received_eth_multicast.packets); | 		VPORT_COUNTER_GET(vstats, received_eth_multicast.packets); | ||||||
| 
 | 
 | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void mlx5e_set_rx_mode(struct net_device *dev) | static void mlx5e_set_rx_mode(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -374,13 +374,12 @@ int mlx5e_get_offload_stats(int attr_id, const struct net_device *dev, | ||||||
| 	return -EINVAL; | 	return -EINVAL; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| mlx5e_rep_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) | mlx5e_rep_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct mlx5e_priv *priv = netdev_priv(dev); | 	struct mlx5e_priv *priv = netdev_priv(dev); | ||||||
| 
 | 
 | ||||||
| 	memcpy(stats, &priv->stats.vf_vport, sizeof(*stats)); | 	memcpy(stats, &priv->stats.vf_vport, sizeof(*stats)); | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static const struct switchdev_ops mlx5e_rep_switchdev_ops = { | static const struct switchdev_ops mlx5e_rep_switchdev_ops = { | ||||||
|  |  | ||||||
|  | @ -947,15 +947,13 @@ static void update_stats_cache(struct work_struct *work) | ||||||
| /* Return the stats from a cache that is updated periodically,
 | /* Return the stats from a cache that is updated periodically,
 | ||||||
|  * as this function might get called in an atomic context. |  * as this function might get called in an atomic context. | ||||||
|  */ |  */ | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| mlxsw_sp_port_get_stats64(struct net_device *dev, | mlxsw_sp_port_get_stats64(struct net_device *dev, | ||||||
| 			  struct rtnl_link_stats64 *stats) | 			  struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev); | 	struct mlxsw_sp_port *mlxsw_sp_port = netdev_priv(dev); | ||||||
| 
 | 
 | ||||||
| 	memcpy(stats, mlxsw_sp_port->hw_stats.cache, sizeof(*stats)); | 	memcpy(stats, mlxsw_sp_port->hw_stats.cache, sizeof(*stats)); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| int mlxsw_sp_port_vlan_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid_begin, | int mlxsw_sp_port_vlan_set(struct mlxsw_sp_port *mlxsw_sp_port, u16 vid_begin, | ||||||
|  |  | ||||||
|  | @ -381,7 +381,7 @@ static int mlxsw_sx_port_change_mtu(struct net_device *dev, int mtu) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| mlxsw_sx_port_get_stats64(struct net_device *dev, | mlxsw_sx_port_get_stats64(struct net_device *dev, | ||||||
| 			  struct rtnl_link_stats64 *stats) | 			  struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
|  | @ -410,7 +410,6 @@ mlxsw_sx_port_get_stats64(struct net_device *dev, | ||||||
| 		tx_dropped	+= p->tx_dropped; | 		tx_dropped	+= p->tx_dropped; | ||||||
| 	} | 	} | ||||||
| 	stats->tx_dropped	= tx_dropped; | 	stats->tx_dropped	= tx_dropped; | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int mlxsw_sx_port_get_phys_port_name(struct net_device *dev, char *name, | static int mlxsw_sx_port_get_phys_port_name(struct net_device *dev, char *name, | ||||||
|  |  | ||||||
|  | @ -378,7 +378,7 @@ static inline void put_be32(__be32 val, __be32 __iomem * p) | ||||||
| 	__raw_writel((__force __u32) val, (__force void __iomem *)p); | 	__raw_writel((__force __u32) val, (__force void __iomem *)p); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *myri10ge_get_stats(struct net_device *dev, | static void myri10ge_get_stats(struct net_device *dev, | ||||||
| 			       struct rtnl_link_stats64 *stats); | 			       struct rtnl_link_stats64 *stats); | ||||||
| 
 | 
 | ||||||
| static void set_fw_name(struct myri10ge_priv *mgp, char *name, bool allocated) | static void set_fw_name(struct myri10ge_priv *mgp, char *name, bool allocated) | ||||||
|  | @ -3119,7 +3119,7 @@ static netdev_tx_t myri10ge_sw_tso(struct sk_buff *skb, | ||||||
| 	return NETDEV_TX_OK; | 	return NETDEV_TX_OK; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *myri10ge_get_stats(struct net_device *dev, | static void myri10ge_get_stats(struct net_device *dev, | ||||||
| 			       struct rtnl_link_stats64 *stats) | 			       struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	const struct myri10ge_priv *mgp = netdev_priv(dev); | 	const struct myri10ge_priv *mgp = netdev_priv(dev); | ||||||
|  | @ -3135,7 +3135,6 @@ static struct rtnl_link_stats64 *myri10ge_get_stats(struct net_device *dev, | ||||||
| 		stats->rx_dropped += slice_stats->rx_dropped; | 		stats->rx_dropped += slice_stats->rx_dropped; | ||||||
| 		stats->tx_dropped += slice_stats->tx_dropped; | 		stats->tx_dropped += slice_stats->tx_dropped; | ||||||
| 	} | 	} | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void myri10ge_set_multicast_list(struct net_device *dev) | static void myri10ge_set_multicast_list(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -3111,7 +3111,7 @@ static int vxge_change_mtu(struct net_device *dev, int new_mtu) | ||||||
|  * @stats: pointer to struct rtnl_link_stats64 |  * @stats: pointer to struct rtnl_link_stats64 | ||||||
|  * |  * | ||||||
|  */ |  */ | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| vxge_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats) | vxge_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats) | ||||||
| { | { | ||||||
| 	struct vxgedev *vdev = netdev_priv(dev); | 	struct vxgedev *vdev = netdev_priv(dev); | ||||||
|  | @ -3150,8 +3150,6 @@ vxge_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *net_stats) | ||||||
| 		net_stats->tx_bytes += bytes; | 		net_stats->tx_bytes += bytes; | ||||||
| 		net_stats->tx_errors += txstats->tx_errors; | 		net_stats->tx_errors += txstats->tx_errors; | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return net_stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static enum vxge_hw_status vxge_timestamp_config(struct __vxge_hw_device *devh) | static enum vxge_hw_status vxge_timestamp_config(struct __vxge_hw_device *devh) | ||||||
|  |  | ||||||
|  | @ -2638,7 +2638,7 @@ static int nfp_net_change_mtu(struct net_device *netdev, int new_mtu) | ||||||
| 	return nfp_net_ring_reconfig(nn, &nn->xdp_prog, &rx, NULL); | 	return nfp_net_ring_reconfig(nn, &nn->xdp_prog, &rx, NULL); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *nfp_net_stat64(struct net_device *netdev, | static void nfp_net_stat64(struct net_device *netdev, | ||||||
| 			   struct rtnl_link_stats64 *stats) | 			   struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct nfp_net *nn = netdev_priv(netdev); | 	struct nfp_net *nn = netdev_priv(netdev); | ||||||
|  | @ -2669,8 +2669,6 @@ static struct rtnl_link_stats64 *nfp_net_stat64(struct net_device *netdev, | ||||||
| 		stats->tx_bytes += data[1]; | 		stats->tx_bytes += data[1]; | ||||||
| 		stats->tx_errors += data[2]; | 		stats->tx_errors += data[2]; | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static bool nfp_net_ebpf_capable(struct nfp_net *nn) | static bool nfp_net_ebpf_capable(struct nfp_net *nn) | ||||||
|  |  | ||||||
|  | @ -1733,7 +1733,7 @@ static void nv_update_stats(struct net_device *dev) | ||||||
|  * Called with read_lock(&dev_base_lock) held for read - |  * Called with read_lock(&dev_base_lock) held for read - | ||||||
|  * only synchronized against unregister_netdevice. |  * only synchronized against unregister_netdevice. | ||||||
|  */ |  */ | ||||||
| static struct rtnl_link_stats64* | static void | ||||||
| nv_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *storage) | nv_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *storage) | ||||||
| 	__acquires(&netdev_priv(dev)->hwstats_lock) | 	__acquires(&netdev_priv(dev)->hwstats_lock) | ||||||
| 	__releases(&netdev_priv(dev)->hwstats_lock) | 	__releases(&netdev_priv(dev)->hwstats_lock) | ||||||
|  | @ -1793,8 +1793,6 @@ nv_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *storage) | ||||||
| 
 | 
 | ||||||
| 		spin_unlock_bh(&np->hwstats_lock); | 		spin_unlock_bh(&np->hwstats_lock); | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return storage; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  |  | ||||||
|  | @ -90,7 +90,7 @@ static irqreturn_t netxen_msix_intr(int irq, void *data); | ||||||
| 
 | 
 | ||||||
| static void netxen_free_ip_list(struct netxen_adapter *, bool); | static void netxen_free_ip_list(struct netxen_adapter *, bool); | ||||||
| static void netxen_restore_indev_addr(struct net_device *dev, unsigned long); | static void netxen_restore_indev_addr(struct net_device *dev, unsigned long); | ||||||
| static struct rtnl_link_stats64 *netxen_nic_get_stats(struct net_device *dev, | static void netxen_nic_get_stats(struct net_device *dev, | ||||||
| 				 struct rtnl_link_stats64 *stats); | 				 struct rtnl_link_stats64 *stats); | ||||||
| static int netxen_nic_set_mac(struct net_device *netdev, void *p); | static int netxen_nic_set_mac(struct net_device *netdev, void *p); | ||||||
| 
 | 
 | ||||||
|  | @ -2302,7 +2302,7 @@ static void netxen_tx_timeout_task(struct work_struct *work) | ||||||
| 	clear_bit(__NX_RESETTING, &adapter->state); | 	clear_bit(__NX_RESETTING, &adapter->state); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *netxen_nic_get_stats(struct net_device *netdev, | static void netxen_nic_get_stats(struct net_device *netdev, | ||||||
| 				 struct rtnl_link_stats64 *stats) | 				 struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct netxen_adapter *adapter = netdev_priv(netdev); | 	struct netxen_adapter *adapter = netdev_priv(netdev); | ||||||
|  | @ -2313,8 +2313,6 @@ static struct rtnl_link_stats64 *netxen_nic_get_stats(struct net_device *netdev, | ||||||
| 	stats->tx_bytes = adapter->stats.txbytes; | 	stats->tx_bytes = adapter->stats.txbytes; | ||||||
| 	stats->rx_dropped = adapter->stats.rxdropped; | 	stats->rx_dropped = adapter->stats.rxdropped; | ||||||
| 	stats->tx_dropped = adapter->stats.txdropped; | 	stats->tx_dropped = adapter->stats.txdropped; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static irqreturn_t netxen_intr(int irq, void *data) | static irqreturn_t netxen_intr(int irq, void *data) | ||||||
|  |  | ||||||
|  | @ -398,8 +398,7 @@ void qede_fill_by_demand_stats(struct qede_dev *edev) | ||||||
| 	edev->stats.tx_mac_ctrl_frames = stats.tx_mac_ctrl_frames; | 	edev->stats.tx_mac_ctrl_frames = stats.tx_mac_ctrl_frames; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static | static void qede_get_stats64(struct net_device *dev, | ||||||
| struct rtnl_link_stats64 *qede_get_stats64(struct net_device *dev, |  | ||||||
| 			     struct rtnl_link_stats64 *stats) | 			     struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct qede_dev *edev = netdev_priv(dev); | 	struct qede_dev *edev = netdev_priv(dev); | ||||||
|  | @ -430,8 +429,6 @@ struct rtnl_link_stats64 *qede_get_stats64(struct net_device *dev, | ||||||
| 	stats->collisions = edev->stats.tx_total_collisions; | 	stats->collisions = edev->stats.tx_total_collisions; | ||||||
| 	stats->rx_crc_errors = edev->stats.rx_crc_errors; | 	stats->rx_crc_errors = edev->stats.rx_crc_errors; | ||||||
| 	stats->rx_frame_errors = edev->stats.rx_align_errors; | 	stats->rx_frame_errors = edev->stats.rx_align_errors; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_QED_SRIOV | #ifdef CONFIG_QED_SRIOV | ||||||
|  |  | ||||||
|  | @ -312,7 +312,7 @@ static int emac_ioctl(struct net_device *netdev, struct ifreq *ifr, int cmd) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Provide network statistics info for the interface */ | /* Provide network statistics info for the interface */ | ||||||
| static struct rtnl_link_stats64 *emac_get_stats64(struct net_device *netdev, | static void emac_get_stats64(struct net_device *netdev, | ||||||
| 			     struct rtnl_link_stats64 *net_stats) | 			     struct rtnl_link_stats64 *net_stats) | ||||||
| { | { | ||||||
| 	struct emac_adapter *adpt = netdev_priv(netdev); | 	struct emac_adapter *adpt = netdev_priv(netdev); | ||||||
|  | @ -377,8 +377,6 @@ static struct rtnl_link_stats64 *emac_get_stats64(struct net_device *netdev, | ||||||
| 	net_stats->tx_window_errors = stats->tx_late_col; | 	net_stats->tx_window_errors = stats->tx_late_col; | ||||||
| 
 | 
 | ||||||
| 	spin_unlock(&stats->lock); | 	spin_unlock(&stats->lock); | ||||||
| 
 |  | ||||||
| 	return net_stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static const struct net_device_ops emac_netdev_ops = { | static const struct net_device_ops emac_netdev_ops = { | ||||||
|  |  | ||||||
|  | @ -653,9 +653,8 @@ static int rtl8139_poll(struct napi_struct *napi, int budget); | ||||||
| static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance); | static irqreturn_t rtl8139_interrupt (int irq, void *dev_instance); | ||||||
| static int rtl8139_close (struct net_device *dev); | static int rtl8139_close (struct net_device *dev); | ||||||
| static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd); | static int netdev_ioctl (struct net_device *dev, struct ifreq *rq, int cmd); | ||||||
| static struct rtnl_link_stats64 *rtl8139_get_stats64(struct net_device *dev, | static void rtl8139_get_stats64(struct net_device *dev, | ||||||
| 						    struct rtnl_link_stats64 | 				struct rtnl_link_stats64 *stats); | ||||||
| 						    *stats); |  | ||||||
| static void rtl8139_set_rx_mode (struct net_device *dev); | static void rtl8139_set_rx_mode (struct net_device *dev); | ||||||
| static void __set_rx_mode (struct net_device *dev); | static void __set_rx_mode (struct net_device *dev); | ||||||
| static void rtl8139_hw_start (struct net_device *dev); | static void rtl8139_hw_start (struct net_device *dev); | ||||||
|  | @ -2516,7 +2515,7 @@ static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| rtl8139_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | rtl8139_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct rtl8139_private *tp = netdev_priv(dev); | 	struct rtl8139_private *tp = netdev_priv(dev); | ||||||
|  | @ -2544,8 +2543,6 @@ rtl8139_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 		stats->tx_packets = tp->tx_stats.packets; | 		stats->tx_packets = tp->tx_stats.packets; | ||||||
| 		stats->tx_bytes = tp->tx_stats.bytes; | 		stats->tx_bytes = tp->tx_stats.bytes; | ||||||
| 	} while (u64_stats_fetch_retry_irq(&tp->tx_stats.syncp, start)); | 	} while (u64_stats_fetch_retry_irq(&tp->tx_stats.syncp, start)); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Set or clear the multicast filter for this adaptor.
 | /* Set or clear the multicast filter for this adaptor.
 | ||||||
|  |  | ||||||
|  | @ -7755,7 +7755,7 @@ static int rtl_open(struct net_device *dev) | ||||||
| 	goto out; | 	goto out; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| rtl8169_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | rtl8169_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct rtl8169_private *tp = netdev_priv(dev); | 	struct rtl8169_private *tp = netdev_priv(dev); | ||||||
|  | @ -7809,8 +7809,6 @@ rtl8169_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 		le16_to_cpu(tp->tc_offset.tx_aborted); | 		le16_to_cpu(tp->tc_offset.tx_aborted); | ||||||
| 
 | 
 | ||||||
| 	pm_runtime_put_noidle(&pdev->dev); | 	pm_runtime_put_noidle(&pdev->dev); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void rtl8169_net_suspend(struct net_device *dev) | static void rtl8169_net_suspend(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -1706,10 +1706,8 @@ static inline u64 sxgbe_get_stat64(void __iomem *ioaddr, int reg_lo, int reg_hi) | ||||||
|  *  This function is a driver entry point whenever ifconfig command gets |  *  This function is a driver entry point whenever ifconfig command gets | ||||||
|  *  executed to see device statistics. Statistics are number of |  *  executed to see device statistics. Statistics are number of | ||||||
|  *  bytes sent or received, errors occurred etc. |  *  bytes sent or received, errors occurred etc. | ||||||
|  *  Return value: |  | ||||||
|  *  This function returns various statistical information of device. |  | ||||||
|  */ |  */ | ||||||
| static struct rtnl_link_stats64 *sxgbe_get_stats64(struct net_device *dev, | static void sxgbe_get_stats64(struct net_device *dev, | ||||||
| 			      struct rtnl_link_stats64 *stats) | 			      struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct sxgbe_priv_data *priv = netdev_priv(dev); | 	struct sxgbe_priv_data *priv = netdev_priv(dev); | ||||||
|  | @ -1761,8 +1759,6 @@ static struct rtnl_link_stats64 *sxgbe_get_stats64(struct net_device *dev, | ||||||
| 						 SXGBE_MMC_TXUFLWHI_GBCNT_REG); | 						 SXGBE_MMC_TXUFLWHI_GBCNT_REG); | ||||||
| 	writel(0, ioaddr + SXGBE_MMC_CTL_REG); | 	writel(0, ioaddr + SXGBE_MMC_CTL_REG); | ||||||
| 	spin_unlock(&priv->stats_lock); | 	spin_unlock(&priv->stats_lock); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /*  sxgbe_set_features - entry point to set offload features of the device.
 | /*  sxgbe_set_features - entry point to set offload features of the device.
 | ||||||
|  |  | ||||||
|  | @ -2219,7 +2219,7 @@ int efx_net_stop(struct net_device *net_dev) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Context: process, dev_base_lock or RTNL held, non-blocking. */ | /* Context: process, dev_base_lock or RTNL held, non-blocking. */ | ||||||
| static struct rtnl_link_stats64 *efx_net_stats(struct net_device *net_dev, | static void efx_net_stats(struct net_device *net_dev, | ||||||
| 			  struct rtnl_link_stats64 *stats) | 			  struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct efx_nic *efx = netdev_priv(net_dev); | 	struct efx_nic *efx = netdev_priv(net_dev); | ||||||
|  | @ -2227,8 +2227,6 @@ static struct rtnl_link_stats64 *efx_net_stats(struct net_device *net_dev, | ||||||
| 	spin_lock_bh(&efx->stats_lock); | 	spin_lock_bh(&efx->stats_lock); | ||||||
| 	efx->type->update_stats(efx, NULL, stats); | 	efx->type->update_stats(efx, NULL, stats); | ||||||
| 	spin_unlock_bh(&efx->stats_lock); | 	spin_unlock_bh(&efx->stats_lock); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Context: netif_tx_lock held, BHs disabled. */ | /* Context: netif_tx_lock held, BHs disabled. */ | ||||||
|  |  | ||||||
|  | @ -2158,7 +2158,7 @@ int ef4_net_stop(struct net_device *net_dev) | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Context: process, dev_base_lock or RTNL held, non-blocking. */ | /* Context: process, dev_base_lock or RTNL held, non-blocking. */ | ||||||
| static struct rtnl_link_stats64 *ef4_net_stats(struct net_device *net_dev, | static void ef4_net_stats(struct net_device *net_dev, | ||||||
| 			  struct rtnl_link_stats64 *stats) | 			  struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct ef4_nic *efx = netdev_priv(net_dev); | 	struct ef4_nic *efx = netdev_priv(net_dev); | ||||||
|  | @ -2166,8 +2166,6 @@ static struct rtnl_link_stats64 *ef4_net_stats(struct net_device *net_dev, | ||||||
| 	spin_lock_bh(&efx->stats_lock); | 	spin_lock_bh(&efx->stats_lock); | ||||||
| 	efx->type->update_stats(efx, NULL, stats); | 	efx->type->update_stats(efx, NULL, stats); | ||||||
| 	spin_unlock_bh(&efx->stats_lock); | 	spin_unlock_bh(&efx->stats_lock); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Context: netif_tx_lock held, BHs disabled. */ | /* Context: netif_tx_lock held, BHs disabled. */ | ||||||
|  |  | ||||||
|  | @ -6294,7 +6294,7 @@ static void niu_get_tx_stats(struct niu *np, | ||||||
| 	stats->tx_errors = errors; | 	stats->tx_errors = errors; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *niu_get_stats(struct net_device *dev, | static void niu_get_stats(struct net_device *dev, | ||||||
| 			  struct rtnl_link_stats64 *stats) | 			  struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct niu *np = netdev_priv(dev); | 	struct niu *np = netdev_priv(dev); | ||||||
|  | @ -6303,8 +6303,6 @@ static struct rtnl_link_stats64 *niu_get_stats(struct net_device *dev, | ||||||
| 		niu_get_rx_stats(np, stats); | 		niu_get_rx_stats(np, stats); | ||||||
| 		niu_get_tx_stats(np, stats); | 		niu_get_tx_stats(np, stats); | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void niu_load_hash_xmac(struct niu *np, u16 *hash) | static void niu_load_hash_xmac(struct niu *np, u16 *hash) | ||||||
|  |  | ||||||
|  | @ -2490,7 +2490,7 @@ static void dwceqos_read_mmc_counters(struct net_local *lp, u32 rx_mask, | ||||||
| 			dwceqos_read(lp, DWC_MMC_RXPACKETCOUNT_GB); | 			dwceqos_read(lp, DWC_MMC_RXPACKETCOUNT_GB); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64* | static void | ||||||
| dwceqos_get_stats64(struct net_device *ndev, struct rtnl_link_stats64 *s) | dwceqos_get_stats64(struct net_device *ndev, struct rtnl_link_stats64 *s) | ||||||
| { | { | ||||||
| 	unsigned long flags; | 	unsigned long flags; | ||||||
|  | @ -2522,8 +2522,6 @@ dwceqos_get_stats64(struct net_device *ndev, struct rtnl_link_stats64 *s) | ||||||
| 	else | 	else | ||||||
| 		s->tx_errors = hwstats->txunderflowerror + | 		s->tx_errors = hwstats->txunderflowerror + | ||||||
| 			hwstats->txcarriererror; | 			hwstats->txcarriererror; | ||||||
| 
 |  | ||||||
| 	return s; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void | static void | ||||||
|  |  | ||||||
|  | @ -2047,7 +2047,7 @@ static int tile_net_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | ||||||
|  * |  * | ||||||
|  * Returns the address of the device statistics structure. |  * Returns the address of the device statistics structure. | ||||||
|  */ |  */ | ||||||
| static struct rtnl_link_stats64 *tile_net_get_stats64(struct net_device *dev, | static void tile_net_get_stats64(struct net_device *dev, | ||||||
| 				 struct rtnl_link_stats64 *stats) | 				 struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct tile_net_priv *priv = netdev_priv(dev); | 	struct tile_net_priv *priv = netdev_priv(dev); | ||||||
|  |  | ||||||
|  | @ -513,7 +513,7 @@ static irqreturn_t rhine_interrupt(int irq, void *dev_instance); | ||||||
| static void rhine_tx(struct net_device *dev); | static void rhine_tx(struct net_device *dev); | ||||||
| static int rhine_rx(struct net_device *dev, int limit); | static int rhine_rx(struct net_device *dev, int limit); | ||||||
| static void rhine_set_rx_mode(struct net_device *dev); | static void rhine_set_rx_mode(struct net_device *dev); | ||||||
| static struct rtnl_link_stats64 *rhine_get_stats64(struct net_device *dev, | static void rhine_get_stats64(struct net_device *dev, | ||||||
| 			      struct rtnl_link_stats64 *stats); | 			      struct rtnl_link_stats64 *stats); | ||||||
| static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); | static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd); | ||||||
| static const struct ethtool_ops netdev_ethtool_ops; | static const struct ethtool_ops netdev_ethtool_ops; | ||||||
|  | @ -2221,7 +2221,7 @@ static void rhine_slow_event_task(struct work_struct *work) | ||||||
| 	mutex_unlock(&rp->task_lock); | 	mutex_unlock(&rp->task_lock); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| rhine_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | rhine_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct rhine_private *rp = netdev_priv(dev); | 	struct rhine_private *rp = netdev_priv(dev); | ||||||
|  | @ -2244,8 +2244,6 @@ rhine_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 		stats->tx_packets = rp->tx_stats.packets; | 		stats->tx_packets = rp->tx_stats.packets; | ||||||
| 		stats->tx_bytes = rp->tx_stats.bytes; | 		stats->tx_bytes = rp->tx_stats.bytes; | ||||||
| 	} while (u64_stats_fetch_retry_irq(&rp->tx_stats.syncp, start)); | 	} while (u64_stats_fetch_retry_irq(&rp->tx_stats.syncp, start)); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void rhine_set_rx_mode(struct net_device *dev) | static void rhine_set_rx_mode(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -57,8 +57,7 @@ static void fjes_raise_intr_rxdata_task(struct work_struct *); | ||||||
| static void fjes_tx_stall_task(struct work_struct *); | static void fjes_tx_stall_task(struct work_struct *); | ||||||
| static void fjes_force_close_task(struct work_struct *); | static void fjes_force_close_task(struct work_struct *); | ||||||
| static irqreturn_t fjes_intr(int, void*); | static irqreturn_t fjes_intr(int, void*); | ||||||
| static struct rtnl_link_stats64 * | static void fjes_get_stats64(struct net_device *, struct rtnl_link_stats64 *); | ||||||
| fjes_get_stats64(struct net_device *, struct rtnl_link_stats64 *); |  | ||||||
| static int fjes_change_mtu(struct net_device *, int); | static int fjes_change_mtu(struct net_device *, int); | ||||||
| static int fjes_vlan_rx_add_vid(struct net_device *, __be16 proto, u16); | static int fjes_vlan_rx_add_vid(struct net_device *, __be16 proto, u16); | ||||||
| static int fjes_vlan_rx_kill_vid(struct net_device *, __be16 proto, u16); | static int fjes_vlan_rx_kill_vid(struct net_device *, __be16 proto, u16); | ||||||
|  | @ -782,14 +781,12 @@ static void fjes_tx_retry(struct net_device *netdev) | ||||||
| 	netif_tx_wake_queue(queue); | 	netif_tx_wake_queue(queue); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| fjes_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats) | fjes_get_stats64(struct net_device *netdev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct fjes_adapter *adapter = netdev_priv(netdev); | 	struct fjes_adapter *adapter = netdev_priv(netdev); | ||||||
| 
 | 
 | ||||||
| 	memcpy(stats, &adapter->stats64, sizeof(struct rtnl_link_stats64)); | 	memcpy(stats, &adapter->stats64, sizeof(struct rtnl_link_stats64)); | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int fjes_change_mtu(struct net_device *netdev, int new_mtu) | static int fjes_change_mtu(struct net_device *netdev, int new_mtu) | ||||||
|  |  | ||||||
|  | @ -908,7 +908,7 @@ static int netvsc_change_mtu(struct net_device *ndev, int mtu) | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *netvsc_get_stats64(struct net_device *net, | static void netvsc_get_stats64(struct net_device *net, | ||||||
| 			       struct rtnl_link_stats64 *t) | 			       struct rtnl_link_stats64 *t) | ||||||
| { | { | ||||||
| 	struct net_device_context *ndev_ctx = netdev_priv(net); | 	struct net_device_context *ndev_ctx = netdev_priv(net); | ||||||
|  | @ -947,8 +947,6 @@ static struct rtnl_link_stats64 *netvsc_get_stats64(struct net_device *net, | ||||||
| 
 | 
 | ||||||
| 	t->rx_dropped	= net->stats.rx_dropped; | 	t->rx_dropped	= net->stats.rx_dropped; | ||||||
| 	t->rx_errors	= net->stats.rx_errors; | 	t->rx_errors	= net->stats.rx_errors; | ||||||
| 
 |  | ||||||
| 	return t; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int netvsc_set_mac_addr(struct net_device *ndev, void *p) | static int netvsc_set_mac_addr(struct net_device *ndev, void *p) | ||||||
|  |  | ||||||
|  | @ -129,7 +129,7 @@ static void ifb_ri_tasklet(unsigned long _txp) | ||||||
| 
 | 
 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *ifb_stats64(struct net_device *dev, | static void ifb_stats64(struct net_device *dev, | ||||||
| 			struct rtnl_link_stats64 *stats) | 			struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct ifb_dev_private *dp = netdev_priv(dev); | 	struct ifb_dev_private *dp = netdev_priv(dev); | ||||||
|  | @ -157,8 +157,6 @@ static struct rtnl_link_stats64 *ifb_stats64(struct net_device *dev, | ||||||
| 	} | 	} | ||||||
| 	stats->rx_dropped = dev->stats.rx_dropped; | 	stats->rx_dropped = dev->stats.rx_dropped; | ||||||
| 	stats->tx_dropped = dev->stats.tx_dropped; | 	stats->tx_dropped = dev->stats.tx_dropped; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ifb_dev_init(struct net_device *dev) | static int ifb_dev_init(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -303,7 +303,7 @@ static void ipvlan_set_multicast_mac_filter(struct net_device *dev) | ||||||
| 	dev_mc_sync(ipvlan->phy_dev, dev); | 	dev_mc_sync(ipvlan->phy_dev, dev); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *ipvlan_get_stats64(struct net_device *dev, | static void ipvlan_get_stats64(struct net_device *dev, | ||||||
| 			       struct rtnl_link_stats64 *s) | 			       struct rtnl_link_stats64 *s) | ||||||
| { | { | ||||||
| 	struct ipvl_dev *ipvlan = netdev_priv(dev); | 	struct ipvl_dev *ipvlan = netdev_priv(dev); | ||||||
|  | @ -341,7 +341,6 @@ static struct rtnl_link_stats64 *ipvlan_get_stats64(struct net_device *dev, | ||||||
| 		s->rx_dropped = rx_errs; | 		s->rx_dropped = rx_errs; | ||||||
| 		s->tx_dropped = tx_drps; | 		s->tx_dropped = tx_drps; | ||||||
| 	} | 	} | ||||||
| 	return s; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ipvlan_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) | static int ipvlan_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) | ||||||
|  |  | ||||||
|  | @ -97,7 +97,7 @@ static netdev_tx_t loopback_xmit(struct sk_buff *skb, | ||||||
| 	return NETDEV_TX_OK; | 	return NETDEV_TX_OK; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *loopback_get_stats64(struct net_device *dev, | static void loopback_get_stats64(struct net_device *dev, | ||||||
| 				 struct rtnl_link_stats64 *stats) | 				 struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	u64 bytes = 0; | 	u64 bytes = 0; | ||||||
|  | @ -122,7 +122,6 @@ static struct rtnl_link_stats64 *loopback_get_stats64(struct net_device *dev, | ||||||
| 	stats->tx_packets = packets; | 	stats->tx_packets = packets; | ||||||
| 	stats->rx_bytes   = bytes; | 	stats->rx_bytes   = bytes; | ||||||
| 	stats->tx_bytes   = bytes; | 	stats->tx_bytes   = bytes; | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static u32 always_on(struct net_device *dev) | static u32 always_on(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -2888,13 +2888,13 @@ static int macsec_change_mtu(struct net_device *dev, int new_mtu) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *macsec_get_stats64(struct net_device *dev, | static void macsec_get_stats64(struct net_device *dev, | ||||||
| 			       struct rtnl_link_stats64 *s) | 			       struct rtnl_link_stats64 *s) | ||||||
| { | { | ||||||
| 	int cpu; | 	int cpu; | ||||||
| 
 | 
 | ||||||
| 	if (!dev->tstats) | 	if (!dev->tstats) | ||||||
| 		return s; | 		return; | ||||||
| 
 | 
 | ||||||
| 	for_each_possible_cpu(cpu) { | 	for_each_possible_cpu(cpu) { | ||||||
| 		struct pcpu_sw_netstats *stats; | 		struct pcpu_sw_netstats *stats; | ||||||
|  | @ -2918,8 +2918,6 @@ static struct rtnl_link_stats64 *macsec_get_stats64(struct net_device *dev, | ||||||
| 
 | 
 | ||||||
| 	s->rx_dropped = dev->stats.rx_dropped; | 	s->rx_dropped = dev->stats.rx_dropped; | ||||||
| 	s->tx_dropped = dev->stats.tx_dropped; | 	s->tx_dropped = dev->stats.tx_dropped; | ||||||
| 
 |  | ||||||
| 	return s; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int macsec_get_iflink(const struct net_device *dev) | static int macsec_get_iflink(const struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -855,7 +855,7 @@ static void macvlan_uninit(struct net_device *dev) | ||||||
| 		macvlan_port_destroy(port->dev); | 		macvlan_port_destroy(port->dev); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *macvlan_dev_get_stats64(struct net_device *dev, | static void macvlan_dev_get_stats64(struct net_device *dev, | ||||||
| 				    struct rtnl_link_stats64 *stats) | 				    struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct macvlan_dev *vlan = netdev_priv(dev); | 	struct macvlan_dev *vlan = netdev_priv(dev); | ||||||
|  | @ -893,7 +893,6 @@ static struct rtnl_link_stats64 *macvlan_dev_get_stats64(struct net_device *dev, | ||||||
| 		stats->rx_dropped	= rx_errors; | 		stats->rx_dropped	= rx_errors; | ||||||
| 		stats->tx_dropped	= tx_dropped; | 		stats->tx_dropped	= tx_dropped; | ||||||
| 	} | 	} | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int macvlan_vlan_rx_add_vid(struct net_device *dev, | static int macvlan_vlan_rx_add_vid(struct net_device *dev, | ||||||
|  |  | ||||||
|  | @ -58,7 +58,7 @@ static int nlmon_close(struct net_device *dev) | ||||||
| 	return netlink_remove_tap(&nlmon->nt); | 	return netlink_remove_tap(&nlmon->nt); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| nlmon_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | nlmon_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	int i; | 	int i; | ||||||
|  | @ -86,8 +86,6 @@ nlmon_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 
 | 
 | ||||||
| 	stats->rx_bytes = bytes; | 	stats->rx_bytes = bytes; | ||||||
| 	stats->tx_bytes = 0; | 	stats->tx_bytes = 0; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static u32 always_on(struct net_device *dev) | static u32 always_on(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -1297,7 +1297,7 @@ ppp_net_ioctl(struct net_device *dev, struct ifreq *ifr, int cmd) | ||||||
| 	return err; | 	return err; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64* | static void | ||||||
| ppp_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats64) | ppp_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats64) | ||||||
| { | { | ||||||
| 	struct ppp *ppp = netdev_priv(dev); | 	struct ppp *ppp = netdev_priv(dev); | ||||||
|  | @ -1317,8 +1317,6 @@ ppp_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats64) | ||||||
| 	stats64->rx_dropped       = dev->stats.rx_dropped; | 	stats64->rx_dropped       = dev->stats.rx_dropped; | ||||||
| 	stats64->tx_dropped       = dev->stats.tx_dropped; | 	stats64->tx_dropped       = dev->stats.tx_dropped; | ||||||
| 	stats64->rx_length_errors = dev->stats.rx_length_errors; | 	stats64->rx_length_errors = dev->stats.rx_length_errors; | ||||||
| 
 |  | ||||||
| 	return stats64; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int ppp_dev_init(struct net_device *dev) | static int ppp_dev_init(struct net_device *dev) | ||||||
|  |  | ||||||
|  | @ -566,7 +566,7 @@ static int sl_change_mtu(struct net_device *dev, int new_mtu) | ||||||
| 
 | 
 | ||||||
| /* Netdevice get statistics request */ | /* Netdevice get statistics request */ | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| sl_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | sl_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct net_device_stats *devstats = &dev->stats; | 	struct net_device_stats *devstats = &dev->stats; | ||||||
|  | @ -597,7 +597,6 @@ sl_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 		stats->collisions     += comp->sls_o_misses; | 		stats->collisions     += comp->sls_o_misses; | ||||||
| 	} | 	} | ||||||
| #endif | #endif | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Netdevice register callback */ | /* Netdevice register callback */ | ||||||
|  |  | ||||||
|  | @ -1798,7 +1798,7 @@ static int team_change_mtu(struct net_device *dev, int new_mtu) | ||||||
| 	return err; | 	return err; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| team_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | team_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct team *team = netdev_priv(dev); | 	struct team *team = netdev_priv(dev); | ||||||
|  | @ -1835,7 +1835,6 @@ team_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 	stats->rx_dropped	= rx_dropped; | 	stats->rx_dropped	= rx_dropped; | ||||||
| 	stats->tx_dropped	= tx_dropped; | 	stats->tx_dropped	= tx_dropped; | ||||||
| 	stats->rx_nohandler	= rx_nohandler; | 	stats->rx_nohandler	= rx_nohandler; | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int team_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) | static int team_vlan_rx_add_vid(struct net_device *dev, __be16 proto, u16 vid) | ||||||
|  |  | ||||||
|  | @ -953,7 +953,7 @@ static void tun_set_headroom(struct net_device *dev, int new_hr) | ||||||
| 	tun->align = new_hr; | 	tun->align = new_hr; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| tun_net_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | tun_net_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	u32 rx_dropped = 0, tx_dropped = 0, rx_frame_errors = 0; | 	u32 rx_dropped = 0, tx_dropped = 0, rx_frame_errors = 0; | ||||||
|  | @ -987,7 +987,6 @@ tun_net_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 	stats->rx_dropped  = rx_dropped; | 	stats->rx_dropped  = rx_dropped; | ||||||
| 	stats->rx_frame_errors = rx_frame_errors; | 	stats->rx_frame_errors = rx_frame_errors; | ||||||
| 	stats->tx_dropped = tx_dropped; | 	stats->tx_dropped = tx_dropped; | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static const struct net_device_ops tun_netdev_ops = { | static const struct net_device_ops tun_netdev_ops = { | ||||||
|  |  | ||||||
|  | @ -158,7 +158,7 @@ static u64 veth_stats_one(struct pcpu_vstats *result, struct net_device *dev) | ||||||
| 	return atomic64_read(&priv->dropped); | 	return atomic64_read(&priv->dropped); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *veth_get_stats64(struct net_device *dev, | static void veth_get_stats64(struct net_device *dev, | ||||||
| 			     struct rtnl_link_stats64 *tot) | 			     struct rtnl_link_stats64 *tot) | ||||||
| { | { | ||||||
| 	struct veth_priv *priv = netdev_priv(dev); | 	struct veth_priv *priv = netdev_priv(dev); | ||||||
|  | @ -177,8 +177,6 @@ static struct rtnl_link_stats64 *veth_get_stats64(struct net_device *dev, | ||||||
| 		tot->rx_packets = one.packets; | 		tot->rx_packets = one.packets; | ||||||
| 	} | 	} | ||||||
| 	rcu_read_unlock(); | 	rcu_read_unlock(); | ||||||
| 
 |  | ||||||
| 	return tot; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* fake multicast ability */ | /* fake multicast ability */ | ||||||
|  |  | ||||||
|  | @ -1272,7 +1272,7 @@ static int virtnet_set_mac_address(struct net_device *dev, void *p) | ||||||
| 	return ret; | 	return ret; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *virtnet_stats(struct net_device *dev, | static void virtnet_stats(struct net_device *dev, | ||||||
| 			  struct rtnl_link_stats64 *tot) | 			  struct rtnl_link_stats64 *tot) | ||||||
| { | { | ||||||
| 	struct virtnet_info *vi = netdev_priv(dev); | 	struct virtnet_info *vi = netdev_priv(dev); | ||||||
|  | @ -1306,8 +1306,6 @@ static struct rtnl_link_stats64 *virtnet_stats(struct net_device *dev, | ||||||
| 	tot->rx_dropped = dev->stats.rx_dropped; | 	tot->rx_dropped = dev->stats.rx_dropped; | ||||||
| 	tot->rx_length_errors = dev->stats.rx_length_errors; | 	tot->rx_length_errors = dev->stats.rx_length_errors; | ||||||
| 	tot->rx_frame_errors = dev->stats.rx_frame_errors; | 	tot->rx_frame_errors = dev->stats.rx_frame_errors; | ||||||
| 
 |  | ||||||
| 	return tot; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_NET_POLL_CONTROLLER | #ifdef CONFIG_NET_POLL_CONTROLLER | ||||||
|  |  | ||||||
|  | @ -113,7 +113,7 @@ vmxnet3_global_stats[] = { | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| struct rtnl_link_stats64 * | void | ||||||
| vmxnet3_get_stats64(struct net_device *netdev, | vmxnet3_get_stats64(struct net_device *netdev, | ||||||
| 		   struct rtnl_link_stats64 *stats) | 		   struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
|  | @ -160,8 +160,6 @@ vmxnet3_get_stats64(struct net_device *netdev, | ||||||
| 		stats->rx_dropped += drvRxStats->drop_total; | 		stats->rx_dropped += drvRxStats->drop_total; | ||||||
| 		stats->multicast +=  devRxStats->mcastPktsRxOK; | 		stats->multicast +=  devRxStats->mcastPktsRxOK; | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int | static int | ||||||
|  |  | ||||||
|  | @ -465,8 +465,8 @@ vmxnet3_create_queues(struct vmxnet3_adapter *adapter, | ||||||
| 
 | 
 | ||||||
| void vmxnet3_set_ethtool_ops(struct net_device *netdev); | void vmxnet3_set_ethtool_ops(struct net_device *netdev); | ||||||
| 
 | 
 | ||||||
| struct rtnl_link_stats64 * | void vmxnet3_get_stats64(struct net_device *dev, | ||||||
| vmxnet3_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats); | 			 struct rtnl_link_stats64 *stats); | ||||||
| 
 | 
 | ||||||
| extern char vmxnet3_driver_name[]; | extern char vmxnet3_driver_name[]; | ||||||
| #endif | #endif | ||||||
|  |  | ||||||
|  | @ -77,7 +77,7 @@ static void vrf_tx_error(struct net_device *vrf_dev, struct sk_buff *skb) | ||||||
| 	kfree_skb(skb); | 	kfree_skb(skb); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *vrf_get_stats64(struct net_device *dev, | static void vrf_get_stats64(struct net_device *dev, | ||||||
| 			    struct rtnl_link_stats64 *stats) | 			    struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	int i; | 	int i; | ||||||
|  | @ -102,7 +102,6 @@ static struct rtnl_link_stats64 *vrf_get_stats64(struct net_device *dev, | ||||||
| 		stats->rx_bytes += rbytes; | 		stats->rx_bytes += rbytes; | ||||||
| 		stats->rx_packets += rpkts; | 		stats->rx_packets += rpkts; | ||||||
| 	} | 	} | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| /* Local traffic destined to local address. Reinsert the packet to rx
 | /* Local traffic destined to local address. Reinsert the packet to rx
 | ||||||
|  |  | ||||||
|  | @ -1073,7 +1073,7 @@ static int xennet_change_mtu(struct net_device *dev, int mtu) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *xennet_get_stats64(struct net_device *dev, | static void xennet_get_stats64(struct net_device *dev, | ||||||
| 			       struct rtnl_link_stats64 *tot) | 			       struct rtnl_link_stats64 *tot) | ||||||
| { | { | ||||||
| 	struct netfront_info *np = netdev_priv(dev); | 	struct netfront_info *np = netdev_priv(dev); | ||||||
|  | @ -1105,8 +1105,6 @@ static struct rtnl_link_stats64 *xennet_get_stats64(struct net_device *dev, | ||||||
| 
 | 
 | ||||||
| 	tot->rx_errors  = dev->stats.rx_errors; | 	tot->rx_errors  = dev->stats.rx_errors; | ||||||
| 	tot->tx_dropped = dev->stats.tx_dropped; | 	tot->tx_dropped = dev->stats.tx_dropped; | ||||||
| 
 |  | ||||||
| 	return tot; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void xennet_release_tx_bufs(struct netfront_queue *queue) | static void xennet_release_tx_bufs(struct netfront_queue *queue) | ||||||
|  |  | ||||||
|  | @ -397,14 +397,6 @@ static void xlr_stats(struct net_device *ndev, struct rtnl_link_stats64 *stats) | ||||||
| 			TX_DROP_FRAME_COUNTER); | 			TX_DROP_FRAME_COUNTER); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *xlr_get_stats64(struct net_device *ndev, |  | ||||||
| 						 struct rtnl_link_stats64 *stats |  | ||||||
| 						 ) |  | ||||||
| { |  | ||||||
| 	xlr_stats(ndev, stats); |  | ||||||
| 	return stats; |  | ||||||
| } |  | ||||||
| 
 |  | ||||||
| static const struct net_device_ops xlr_netdev_ops = { | static const struct net_device_ops xlr_netdev_ops = { | ||||||
| 	.ndo_open = xlr_net_open, | 	.ndo_open = xlr_net_open, | ||||||
| 	.ndo_stop = xlr_net_stop, | 	.ndo_stop = xlr_net_stop, | ||||||
|  | @ -412,7 +404,7 @@ static const struct net_device_ops xlr_netdev_ops = { | ||||||
| 	.ndo_select_queue = xlr_net_select_queue, | 	.ndo_select_queue = xlr_net_select_queue, | ||||||
| 	.ndo_set_mac_address = xlr_net_set_mac_addr, | 	.ndo_set_mac_address = xlr_net_set_mac_addr, | ||||||
| 	.ndo_set_rx_mode = xlr_set_rx_mode, | 	.ndo_set_rx_mode = xlr_set_rx_mode, | ||||||
| 	.ndo_get_stats64 = xlr_get_stats64, | 	.ndo_get_stats64 = xlr_stats, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| /*
 | /*
 | ||||||
|  |  | ||||||
|  | @ -913,7 +913,7 @@ struct netdev_xdp { | ||||||
|  *	Callback used when the transmitter has not made any progress |  *	Callback used when the transmitter has not made any progress | ||||||
|  *	for dev->watchdog ticks. |  *	for dev->watchdog ticks. | ||||||
|  * |  * | ||||||
|  * struct rtnl_link_stats64* (*ndo_get_stats64)(struct net_device *dev, |  * void (*ndo_get_stats64)(struct net_device *dev, | ||||||
|  *                         struct rtnl_link_stats64 *storage); |  *                         struct rtnl_link_stats64 *storage); | ||||||
|  * struct net_device_stats* (*ndo_get_stats)(struct net_device *dev); |  * struct net_device_stats* (*ndo_get_stats)(struct net_device *dev); | ||||||
|  *	Called when a user wants to get the network device usage |  *	Called when a user wants to get the network device usage | ||||||
|  | @ -1165,7 +1165,7 @@ struct net_device_ops { | ||||||
| 						   struct neigh_parms *); | 						   struct neigh_parms *); | ||||||
| 	void			(*ndo_tx_timeout) (struct net_device *dev); | 	void			(*ndo_tx_timeout) (struct net_device *dev); | ||||||
| 
 | 
 | ||||||
| 	struct rtnl_link_stats64* (*ndo_get_stats64)(struct net_device *dev, | 	void			(*ndo_get_stats64)(struct net_device *dev, | ||||||
| 						   struct rtnl_link_stats64 *storage); | 						   struct rtnl_link_stats64 *storage); | ||||||
| 	bool			(*ndo_has_offload_stats)(const struct net_device *dev, int attr_id); | 	bool			(*ndo_has_offload_stats)(const struct net_device *dev, int attr_id); | ||||||
| 	int			(*ndo_get_offload_stats)(int attr_id, | 	int			(*ndo_get_offload_stats)(int attr_id, | ||||||
|  |  | ||||||
|  | @ -261,7 +261,7 @@ int ip_tunnel_ioctl(struct net_device *dev, struct ip_tunnel_parm *p, int cmd); | ||||||
| int __ip_tunnel_change_mtu(struct net_device *dev, int new_mtu, bool strict); | int __ip_tunnel_change_mtu(struct net_device *dev, int new_mtu, bool strict); | ||||||
| int ip_tunnel_change_mtu(struct net_device *dev, int new_mtu); | int ip_tunnel_change_mtu(struct net_device *dev, int new_mtu); | ||||||
| 
 | 
 | ||||||
| struct rtnl_link_stats64 *ip_tunnel_get_stats64(struct net_device *dev, | void ip_tunnel_get_stats64(struct net_device *dev, | ||||||
| 			   struct rtnl_link_stats64 *tot); | 			   struct rtnl_link_stats64 *tot); | ||||||
| struct ip_tunnel *ip_tunnel_lookup(struct ip_tunnel_net *itn, | struct ip_tunnel *ip_tunnel_lookup(struct ip_tunnel_net *itn, | ||||||
| 				   int link, __be16 flags, | 				   int link, __be16 flags, | ||||||
|  |  | ||||||
|  | @ -671,7 +671,8 @@ static int vlan_ethtool_get_ts_info(struct net_device *dev, | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *vlan_dev_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | static void vlan_dev_get_stats64(struct net_device *dev, | ||||||
|  | 				 struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct vlan_pcpu_stats *p; | 	struct vlan_pcpu_stats *p; | ||||||
| 	u32 rx_errors = 0, tx_dropped = 0; | 	u32 rx_errors = 0, tx_dropped = 0; | ||||||
|  | @ -702,8 +703,6 @@ static struct rtnl_link_stats64 *vlan_dev_get_stats64(struct net_device *dev, st | ||||||
| 	} | 	} | ||||||
| 	stats->rx_errors  = rx_errors; | 	stats->rx_errors  = rx_errors; | ||||||
| 	stats->tx_dropped = tx_dropped; | 	stats->tx_dropped = tx_dropped; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| #ifdef CONFIG_NET_POLL_CONTROLLER | #ifdef CONFIG_NET_POLL_CONTROLLER | ||||||
|  |  | ||||||
|  | @ -153,7 +153,7 @@ static int br_dev_stop(struct net_device *dev) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *br_get_stats64(struct net_device *dev, | static void br_get_stats64(struct net_device *dev, | ||||||
| 			   struct rtnl_link_stats64 *stats) | 			   struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct net_bridge *br = netdev_priv(dev); | 	struct net_bridge *br = netdev_priv(dev); | ||||||
|  | @ -178,8 +178,6 @@ static struct rtnl_link_stats64 *br_get_stats64(struct net_device *dev, | ||||||
| 	stats->tx_packets = sum.tx_packets; | 	stats->tx_packets = sum.tx_packets; | ||||||
| 	stats->rx_bytes   = sum.rx_bytes; | 	stats->rx_bytes   = sum.rx_bytes; | ||||||
| 	stats->rx_packets = sum.rx_packets; | 	stats->rx_packets = sum.rx_packets; | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int br_change_mtu(struct net_device *dev, int new_mtu) | static int br_change_mtu(struct net_device *dev, int new_mtu) | ||||||
|  |  | ||||||
|  | @ -188,7 +188,7 @@ int iptunnel_handle_offloads(struct sk_buff *skb, | ||||||
| EXPORT_SYMBOL_GPL(iptunnel_handle_offloads); | EXPORT_SYMBOL_GPL(iptunnel_handle_offloads); | ||||||
| 
 | 
 | ||||||
| /* Often modified stats are per cpu, other are shared (netdev->stats) */ | /* Often modified stats are per cpu, other are shared (netdev->stats) */ | ||||||
| struct rtnl_link_stats64 *ip_tunnel_get_stats64(struct net_device *dev, | void ip_tunnel_get_stats64(struct net_device *dev, | ||||||
| 			   struct rtnl_link_stats64 *tot) | 			   struct rtnl_link_stats64 *tot) | ||||||
| { | { | ||||||
| 	int i; | 	int i; | ||||||
|  | @ -214,8 +214,6 @@ struct rtnl_link_stats64 *ip_tunnel_get_stats64(struct net_device *dev, | ||||||
| 		tot->rx_bytes   += rx_bytes; | 		tot->rx_bytes   += rx_bytes; | ||||||
| 		tot->tx_bytes   += tx_bytes; | 		tot->tx_bytes   += tx_bytes; | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return tot; |  | ||||||
| } | } | ||||||
| EXPORT_SYMBOL_GPL(ip_tunnel_get_stats64); | EXPORT_SYMBOL_GPL(ip_tunnel_get_stats64); | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -106,7 +106,7 @@ static int l2tp_eth_dev_xmit(struct sk_buff *skb, struct net_device *dev) | ||||||
| 	return NETDEV_TX_OK; | 	return NETDEV_TX_OK; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *l2tp_eth_get_stats64(struct net_device *dev, | static void l2tp_eth_get_stats64(struct net_device *dev, | ||||||
| 				 struct rtnl_link_stats64 *stats) | 				 struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct l2tp_eth *priv = netdev_priv(dev); | 	struct l2tp_eth *priv = netdev_priv(dev); | ||||||
|  | @ -117,10 +117,8 @@ static struct rtnl_link_stats64 *l2tp_eth_get_stats64(struct net_device *dev, | ||||||
| 	stats->rx_bytes   = atomic_long_read(&priv->rx_bytes); | 	stats->rx_bytes   = atomic_long_read(&priv->rx_bytes); | ||||||
| 	stats->rx_packets = atomic_long_read(&priv->rx_packets); | 	stats->rx_packets = atomic_long_read(&priv->rx_packets); | ||||||
| 	stats->rx_errors  = atomic_long_read(&priv->rx_errors); | 	stats->rx_errors  = atomic_long_read(&priv->rx_errors); | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| 
 |  | ||||||
| static const struct net_device_ops l2tp_eth_netdev_ops = { | static const struct net_device_ops l2tp_eth_netdev_ops = { | ||||||
| 	.ndo_init		= l2tp_eth_dev_init, | 	.ndo_init		= l2tp_eth_dev_init, | ||||||
| 	.ndo_uninit		= l2tp_eth_dev_uninit, | 	.ndo_uninit		= l2tp_eth_dev_uninit, | ||||||
|  |  | ||||||
|  | @ -1122,7 +1122,7 @@ static u16 ieee80211_netdev_select_queue(struct net_device *dev, | ||||||
| 	return ieee80211_select_queue(IEEE80211_DEV_TO_SUB_IF(dev), skb); | 	return ieee80211_select_queue(IEEE80211_DEV_TO_SUB_IF(dev), skb); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| ieee80211_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ieee80211_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	int i; | 	int i; | ||||||
|  | @ -1147,8 +1147,6 @@ ieee80211_get_stats64(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 		stats->rx_bytes   += rx_bytes; | 		stats->rx_bytes   += rx_bytes; | ||||||
| 		stats->tx_bytes   += tx_bytes; | 		stats->tx_bytes   += tx_bytes; | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static const struct net_device_ops ieee80211_dataif_ops = { | static const struct net_device_ops ieee80211_dataif_ops = { | ||||||
|  |  | ||||||
|  | @ -97,7 +97,7 @@ static void internal_dev_destructor(struct net_device *dev) | ||||||
| 	free_netdev(dev); | 	free_netdev(dev); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 * | static void | ||||||
| internal_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) | internal_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	int i; | 	int i; | ||||||
|  | @ -125,8 +125,6 @@ internal_get_stats(struct net_device *dev, struct rtnl_link_stats64 *stats) | ||||||
| 		stats->tx_bytes         += local_stats.tx_bytes; | 		stats->tx_bytes         += local_stats.tx_bytes; | ||||||
| 		stats->tx_packets       += local_stats.tx_packets; | 		stats->tx_packets       += local_stats.tx_packets; | ||||||
| 	} | 	} | ||||||
| 
 |  | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static void internal_set_rx_headroom(struct net_device *dev, int new_hr) | static void internal_set_rx_headroom(struct net_device *dev, int new_hr) | ||||||
|  |  | ||||||
|  | @ -401,7 +401,7 @@ static int teql_master_close(struct net_device *dev) | ||||||
| 	return 0; | 	return 0; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static struct rtnl_link_stats64 *teql_master_stats64(struct net_device *dev, | static void teql_master_stats64(struct net_device *dev, | ||||||
| 				struct rtnl_link_stats64 *stats) | 				struct rtnl_link_stats64 *stats) | ||||||
| { | { | ||||||
| 	struct teql_master *m = netdev_priv(dev); | 	struct teql_master *m = netdev_priv(dev); | ||||||
|  | @ -410,7 +410,6 @@ static struct rtnl_link_stats64 *teql_master_stats64(struct net_device *dev, | ||||||
| 	stats->tx_bytes		= m->tx_bytes; | 	stats->tx_bytes		= m->tx_bytes; | ||||||
| 	stats->tx_errors	= m->tx_errors; | 	stats->tx_errors	= m->tx_errors; | ||||||
| 	stats->tx_dropped	= m->tx_dropped; | 	stats->tx_dropped	= m->tx_dropped; | ||||||
| 	return stats; |  | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| static int teql_master_mtu(struct net_device *dev, int new_mtu) | static int teql_master_mtu(struct net_device *dev, int new_mtu) | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue
	
	 stephen hemminger
						stephen hemminger