aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/sfc/ethtool.c
diff options
context:
space:
mode:
authorBen Hutchings <bhutchings@solarflare.com>2009-11-28 22:43:07 -0500
committerDavid S. Miller <davem@davemloft.net>2009-11-29 19:46:29 -0500
commit89c758fa47b54d8ce10d2b39ed09de6da0ba4324 (patch)
tree3ad41c34f54f071ea986597295623775fbd19dc9 /drivers/net/sfc/ethtool.c
parent78c1f0a06551f6ff61bfd7c1a9302115a8135a62 (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.c17
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
742static 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
750static 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
742const struct ethtool_ops efx_ethtool_ops = { 757const 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};