diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2009-11-28 22:43:07 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-29 19:46:29 -0500 |
commit | 89c758fa47b54d8ce10d2b39ed09de6da0ba4324 (patch) | |
tree | 3ad41c34f54f071ea986597295623775fbd19dc9 /drivers/net/sfc/ethtool.c | |
parent | 78c1f0a06551f6ff61bfd7c1a9302115a8135a62 (diff) |
sfc: Add power-management and wake-on-LAN support
Wake-on-LAN is a stub for Falcon, but will be implemented fully for
new NICs.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/sfc/ethtool.c')
-rw-r--r-- | drivers/net/sfc/ethtool.c | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/drivers/net/sfc/ethtool.c b/drivers/net/sfc/ethtool.c index d95d0fa399ff..b4c6ea1b9c07 100644 --- a/drivers/net/sfc/ethtool.c +++ b/drivers/net/sfc/ethtool.c | |||
@@ -739,6 +739,21 @@ static void efx_ethtool_get_pauseparam(struct net_device *net_dev, | |||
739 | } | 739 | } |
740 | 740 | ||
741 | 741 | ||
742 | static void efx_ethtool_get_wol(struct net_device *net_dev, | ||
743 | struct ethtool_wolinfo *wol) | ||
744 | { | ||
745 | struct efx_nic *efx = netdev_priv(net_dev); | ||
746 | return efx->type->get_wol(efx, wol); | ||
747 | } | ||
748 | |||
749 | |||
750 | static int efx_ethtool_set_wol(struct net_device *net_dev, | ||
751 | struct ethtool_wolinfo *wol) | ||
752 | { | ||
753 | struct efx_nic *efx = netdev_priv(net_dev); | ||
754 | return efx->type->set_wol(efx, wol->wolopts); | ||
755 | } | ||
756 | |||
742 | const struct ethtool_ops efx_ethtool_ops = { | 757 | const struct ethtool_ops efx_ethtool_ops = { |
743 | .get_settings = efx_ethtool_get_settings, | 758 | .get_settings = efx_ethtool_get_settings, |
744 | .set_settings = efx_ethtool_set_settings, | 759 | .set_settings = efx_ethtool_set_settings, |
@@ -767,4 +782,6 @@ const struct ethtool_ops efx_ethtool_ops = { | |||
767 | .get_strings = efx_ethtool_get_strings, | 782 | .get_strings = efx_ethtool_get_strings, |
768 | .phys_id = efx_ethtool_phys_id, | 783 | .phys_id = efx_ethtool_phys_id, |
769 | .get_ethtool_stats = efx_ethtool_get_stats, | 784 | .get_ethtool_stats = efx_ethtool_get_stats, |
785 | .get_wol = efx_ethtool_get_wol, | ||
786 | .set_wol = efx_ethtool_set_wol, | ||
770 | }; | 787 | }; |