Commit 8cd5a56c authored by Xander Huff's avatar Xander Huff Committed by David S. Miller

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: default avatarXander Huff <xander.huff@ni.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 2fa45e22
...@@ -2032,11 +2032,21 @@ const struct ethtool_ops macb_ethtool_ops = { ...@@ -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) ...@@ -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) ...@@ -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 */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment