net/macb: Create gem_ethtool_ops for new statistics functions
10/100 MACB does not have the same statistics possibilities as GEM. Separate macb_ethtool_ops to make a new GEM-specific struct with the new statistics functions included. Signed-off-by: Xander Huff <xander.huff@ni.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
2fa45e22c8
commit
8cd5a56c2b
1 changed files with 13 additions and 2 deletions
|
@ -2032,11 +2032,21 @@ const struct ethtool_ops macb_ethtool_ops = {
|
||||||
.get_regs = macb_get_regs,
|
.get_regs = macb_get_regs,
|
||||||
.get_link = ethtool_op_get_link,
|
.get_link = ethtool_op_get_link,
|
||||||
.get_ts_info = ethtool_op_get_ts_info,
|
.get_ts_info = ethtool_op_get_ts_info,
|
||||||
|
};
|
||||||
|
EXPORT_SYMBOL_GPL(macb_ethtool_ops);
|
||||||
|
|
||||||
|
const struct ethtool_ops gem_ethtool_ops = {
|
||||||
|
.get_settings = macb_get_settings,
|
||||||
|
.set_settings = macb_set_settings,
|
||||||
|
.get_regs_len = macb_get_regs_len,
|
||||||
|
.get_regs = macb_get_regs,
|
||||||
|
.get_link = ethtool_op_get_link,
|
||||||
|
.get_ts_info = ethtool_op_get_ts_info,
|
||||||
.get_ethtool_stats = gem_get_ethtool_stats,
|
.get_ethtool_stats = gem_get_ethtool_stats,
|
||||||
.get_strings = gem_get_ethtool_strings,
|
.get_strings = gem_get_ethtool_strings,
|
||||||
.get_sset_count = gem_get_sset_count,
|
.get_sset_count = gem_get_sset_count,
|
||||||
};
|
};
|
||||||
EXPORT_SYMBOL_GPL(macb_ethtool_ops);
|
EXPORT_SYMBOL_GPL(gem_ethtool_ops);
|
||||||
|
|
||||||
int macb_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
int macb_ioctl(struct net_device *dev, struct ifreq *rq, int cmd)
|
||||||
{
|
{
|
||||||
|
@ -2325,7 +2335,6 @@ static int __init macb_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
dev->netdev_ops = &macb_netdev_ops;
|
dev->netdev_ops = &macb_netdev_ops;
|
||||||
netif_napi_add(dev, &bp->napi, macb_poll, 64);
|
netif_napi_add(dev, &bp->napi, macb_poll, 64);
|
||||||
dev->ethtool_ops = &macb_ethtool_ops;
|
|
||||||
|
|
||||||
dev->base_addr = regs->start;
|
dev->base_addr = regs->start;
|
||||||
|
|
||||||
|
@ -2339,12 +2348,14 @@ static int __init macb_probe(struct platform_device *pdev)
|
||||||
bp->macbgem_ops.mog_free_rx_buffers = gem_free_rx_buffers;
|
bp->macbgem_ops.mog_free_rx_buffers = gem_free_rx_buffers;
|
||||||
bp->macbgem_ops.mog_init_rings = gem_init_rings;
|
bp->macbgem_ops.mog_init_rings = gem_init_rings;
|
||||||
bp->macbgem_ops.mog_rx = gem_rx;
|
bp->macbgem_ops.mog_rx = gem_rx;
|
||||||
|
dev->ethtool_ops = &gem_ethtool_ops;
|
||||||
} else {
|
} else {
|
||||||
bp->max_tx_length = MACB_MAX_TX_LEN;
|
bp->max_tx_length = MACB_MAX_TX_LEN;
|
||||||
bp->macbgem_ops.mog_alloc_rx_buffers = macb_alloc_rx_buffers;
|
bp->macbgem_ops.mog_alloc_rx_buffers = macb_alloc_rx_buffers;
|
||||||
bp->macbgem_ops.mog_free_rx_buffers = macb_free_rx_buffers;
|
bp->macbgem_ops.mog_free_rx_buffers = macb_free_rx_buffers;
|
||||||
bp->macbgem_ops.mog_init_rings = macb_init_rings;
|
bp->macbgem_ops.mog_init_rings = macb_init_rings;
|
||||||
bp->macbgem_ops.mog_rx = macb_rx;
|
bp->macbgem_ops.mog_rx = macb_rx;
|
||||||
|
dev->ethtool_ops = &macb_ethtool_ops;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Set features */
|
/* Set features */
|
||||||
|
|
Loading…
Add table
Reference in a new issue