diff options
Diffstat (limited to 'drivers/net/spider_net_ethtool.c')
-rw-r--r-- | drivers/net/spider_net_ethtool.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/drivers/net/spider_net_ethtool.c b/drivers/net/spider_net_ethtool.c index 9447c2ccd70a..d42e60ba74ce 100644 --- a/drivers/net/spider_net_ethtool.c +++ b/drivers/net/spider_net_ethtool.c | |||
@@ -27,6 +27,24 @@ | |||
27 | 27 | ||
28 | #include "spider_net.h" | 28 | #include "spider_net.h" |
29 | 29 | ||
30 | static int | ||
31 | spider_net_ethtool_get_settings(struct net_device *netdev, | ||
32 | struct ethtool_cmd *cmd) | ||
33 | { | ||
34 | struct spider_net_card *card; | ||
35 | card = netdev_priv(netdev); | ||
36 | |||
37 | cmd->supported = (SUPPORTED_1000baseT_Full | | ||
38 | SUPPORTED_FIBRE); | ||
39 | cmd->advertising = (ADVERTISED_1000baseT_Full | | ||
40 | ADVERTISED_FIBRE); | ||
41 | cmd->port = PORT_FIBRE; | ||
42 | cmd->speed = card->phy.speed; | ||
43 | cmd->duplex = DUPLEX_FULL; | ||
44 | |||
45 | return 0; | ||
46 | } | ||
47 | |||
30 | static void | 48 | static void |
31 | spider_net_ethtool_get_drvinfo(struct net_device *netdev, | 49 | spider_net_ethtool_get_drvinfo(struct net_device *netdev, |
32 | struct ethtool_drvinfo *drvinfo) | 50 | struct ethtool_drvinfo *drvinfo) |
@@ -96,6 +114,7 @@ spider_net_ethtool_set_rx_csum(struct net_device *netdev, u32 n) | |||
96 | } | 114 | } |
97 | 115 | ||
98 | struct ethtool_ops spider_net_ethtool_ops = { | 116 | struct ethtool_ops spider_net_ethtool_ops = { |
117 | .get_settings = spider_net_ethtool_get_settings, | ||
99 | .get_drvinfo = spider_net_ethtool_get_drvinfo, | 118 | .get_drvinfo = spider_net_ethtool_get_drvinfo, |
100 | .get_wol = spider_net_ethtool_get_wol, | 119 | .get_wol = spider_net_ethtool_get_wol, |
101 | .get_msglevel = spider_net_ethtool_get_msglevel, | 120 | .get_msglevel = spider_net_ethtool_get_msglevel, |