diff options
author | Ron Mercer <ron.mercer@qlogic.com> | 2009-10-21 11:07:41 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-10-21 21:45:41 -0700 |
commit | a61f80261306ad11d9c8a453307a56417cfeae03 (patch) | |
tree | ea70fb58c1ae338f97c18b8fd353f969d3e07ba8 /drivers/net/qlge/qlge_ethtool.c | |
parent | bc083ce98eeb42205e99495481c8616d30916f6e (diff) | |
download | talos-obmc-linux-a61f80261306ad11d9c8a453307a56417cfeae03.tar.gz talos-obmc-linux-a61f80261306ad11d9c8a453307a56417cfeae03.zip |
qlge: Add ethtool register dump function.
Signed-off-by: Ron Mercer <ron.mercer@qlogic.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/qlge/qlge_ethtool.c')
-rw-r--r-- | drivers/net/qlge/qlge_ethtool.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/drivers/net/qlge/qlge_ethtool.c b/drivers/net/qlge/qlge_ethtool.c index 019f35fb10c1..62c4af057800 100644 --- a/drivers/net/qlge/qlge_ethtool.c +++ b/drivers/net/qlge/qlge_ethtool.c @@ -428,6 +428,20 @@ static int ql_phys_id(struct net_device *ndev, u32 data) return 0; } + +static int ql_get_regs_len(struct net_device *ndev) +{ + return sizeof(struct ql_reg_dump); +} + +static void ql_get_regs(struct net_device *ndev, + struct ethtool_regs *regs, void *p) +{ + struct ql_adapter *qdev = netdev_priv(ndev); + + ql_gen_reg_dump(qdev, p); +} + static int ql_get_coalesce(struct net_device *dev, struct ethtool_coalesce *c) { struct ql_adapter *qdev = netdev_priv(dev); @@ -555,6 +569,8 @@ const struct ethtool_ops qlge_ethtool_ops = { .get_drvinfo = ql_get_drvinfo, .get_wol = ql_get_wol, .set_wol = ql_set_wol, + .get_regs_len = ql_get_regs_len, + .get_regs = ql_get_regs, .get_msglevel = ql_get_msglevel, .set_msglevel = ql_set_msglevel, .get_link = ethtool_op_get_link, |