diff options
author | Jeff Garzik <jeff@garzik.org> | 2007-09-15 17:41:06 -0400 |
---|---|---|
committer | David S. Miller <davem@sunset.davemloft.net> | 2007-10-10 19:51:17 -0400 |
commit | 88d3aafdae5c5e1d2dd9489a5c8a24e29d335f2e (patch) | |
tree | 272ce75c30a170420ac8bbfd679c3faed9f9d20a | |
parent | 09f75cd7bf13720738e6a196cc0107ce9a5bd5a0 (diff) |
[ETHTOOL] Provide default behaviors for a few ethtool sub-ioctls
For the operations
get-tx-csum
get-sg
get-tso
get-ufo
the default ethtool_op_xxx behavior is fine for all drivers, so we
permit op==NULL to imply the default behavior.
This provides a more uniform behavior across all drivers, eliminating
ethtool(8) "ioctl not supported" errors on older drivers that had
not been updated for the latest sub-ioctls.
The ethtool_op_xxx() functions are left exported, in case anyone
wishes to call them directly from a driver-private implementation --
a not-uncommon case. Should an ethtool_op_xxx() helper remain unused
for a while, except by net/core/ethtool.c, we can un-export it at a
later date.
[ Resolved conflicts with set/get value ethtool patch... -DaveM ]
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
38 files changed, 13 insertions, 101 deletions
diff --git a/drivers/net/8139cp.c b/drivers/net/8139cp.c index 30310ed9f75f..58fad1b2f72e 100644 --- a/drivers/net/8139cp.c +++ b/drivers/net/8139cp.c | |||
@@ -1572,11 +1572,8 @@ static const struct ethtool_ops cp_ethtool_ops = { | |||
1572 | .set_msglevel = cp_set_msglevel, | 1572 | .set_msglevel = cp_set_msglevel, |
1573 | .get_rx_csum = cp_get_rx_csum, | 1573 | .get_rx_csum = cp_get_rx_csum, |
1574 | .set_rx_csum = cp_set_rx_csum, | 1574 | .set_rx_csum = cp_set_rx_csum, |
1575 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1576 | .set_tx_csum = ethtool_op_set_tx_csum, /* local! */ | 1575 | .set_tx_csum = ethtool_op_set_tx_csum, /* local! */ |
1577 | .get_sg = ethtool_op_get_sg, | ||
1578 | .set_sg = ethtool_op_set_sg, | 1576 | .set_sg = ethtool_op_set_sg, |
1579 | .get_tso = ethtool_op_get_tso, | ||
1580 | .set_tso = ethtool_op_set_tso, | 1577 | .set_tso = ethtool_op_set_tso, |
1581 | .get_regs = cp_get_regs, | 1578 | .get_regs = cp_get_regs, |
1582 | .get_wol = cp_get_wol, | 1579 | .get_wol = cp_get_wol, |
diff --git a/drivers/net/atl1/atl1_ethtool.c b/drivers/net/atl1/atl1_ethtool.c index 1f616c5c1473..53353b60a9c8 100644 --- a/drivers/net/atl1/atl1_ethtool.c +++ b/drivers/net/atl1/atl1_ethtool.c | |||
@@ -489,15 +489,12 @@ const struct ethtool_ops atl1_ethtool_ops = { | |||
489 | .get_pauseparam = atl1_get_pauseparam, | 489 | .get_pauseparam = atl1_get_pauseparam, |
490 | .set_pauseparam = atl1_set_pauseparam, | 490 | .set_pauseparam = atl1_set_pauseparam, |
491 | .get_rx_csum = atl1_get_rx_csum, | 491 | .get_rx_csum = atl1_get_rx_csum, |
492 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
493 | .set_tx_csum = ethtool_op_set_tx_hw_csum, | 492 | .set_tx_csum = ethtool_op_set_tx_hw_csum, |
494 | .get_link = ethtool_op_get_link, | 493 | .get_link = ethtool_op_get_link, |
495 | .get_sg = ethtool_op_get_sg, | ||
496 | .set_sg = ethtool_op_set_sg, | 494 | .set_sg = ethtool_op_set_sg, |
497 | .get_strings = atl1_get_strings, | 495 | .get_strings = atl1_get_strings, |
498 | .nway_reset = atl1_nway_reset, | 496 | .nway_reset = atl1_nway_reset, |
499 | .get_ethtool_stats = atl1_get_ethtool_stats, | 497 | .get_ethtool_stats = atl1_get_ethtool_stats, |
500 | .get_stats_count = atl1_get_stats_count, | 498 | .get_stats_count = atl1_get_stats_count, |
501 | .get_tso = ethtool_op_get_tso, | ||
502 | .set_tso = ethtool_op_set_tso, | 499 | .set_tso = ethtool_op_set_tso, |
503 | }; | 500 | }; |
diff --git a/drivers/net/bnx2.c b/drivers/net/bnx2.c index f1e7204f78c9..5ee805b3e0e6 100644 --- a/drivers/net/bnx2.c +++ b/drivers/net/bnx2.c | |||
@@ -6257,11 +6257,8 @@ static const struct ethtool_ops bnx2_ethtool_ops = { | |||
6257 | .set_pauseparam = bnx2_set_pauseparam, | 6257 | .set_pauseparam = bnx2_set_pauseparam, |
6258 | .get_rx_csum = bnx2_get_rx_csum, | 6258 | .get_rx_csum = bnx2_get_rx_csum, |
6259 | .set_rx_csum = bnx2_set_rx_csum, | 6259 | .set_rx_csum = bnx2_set_rx_csum, |
6260 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
6261 | .set_tx_csum = bnx2_set_tx_csum, | 6260 | .set_tx_csum = bnx2_set_tx_csum, |
6262 | .get_sg = ethtool_op_get_sg, | ||
6263 | .set_sg = ethtool_op_set_sg, | 6261 | .set_sg = ethtool_op_set_sg, |
6264 | .get_tso = ethtool_op_get_tso, | ||
6265 | .set_tso = bnx2_set_tso, | 6262 | .set_tso = bnx2_set_tso, |
6266 | .self_test_count = bnx2_self_test_count, | 6263 | .self_test_count = bnx2_self_test_count, |
6267 | .self_test = bnx2_self_test, | 6264 | .self_test = bnx2_self_test, |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index 88ff72ac9b0a..ea58144c220e 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -4202,10 +4202,6 @@ static void bond_ethtool_get_drvinfo(struct net_device *bond_dev, | |||
4202 | } | 4202 | } |
4203 | 4203 | ||
4204 | static const struct ethtool_ops bond_ethtool_ops = { | 4204 | static const struct ethtool_ops bond_ethtool_ops = { |
4205 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
4206 | .get_tso = ethtool_op_get_tso, | ||
4207 | .get_ufo = ethtool_op_get_ufo, | ||
4208 | .get_sg = ethtool_op_get_sg, | ||
4209 | .get_drvinfo = bond_ethtool_get_drvinfo, | 4205 | .get_drvinfo = bond_ethtool_get_drvinfo, |
4210 | }; | 4206 | }; |
4211 | 4207 | ||
diff --git a/drivers/net/chelsio/cxgb2.c b/drivers/net/chelsio/cxgb2.c index 884aa0cd0006..7029f13d008d 100644 --- a/drivers/net/chelsio/cxgb2.c +++ b/drivers/net/chelsio/cxgb2.c | |||
@@ -794,9 +794,7 @@ static const struct ethtool_ops t1_ethtool_ops = { | |||
794 | .set_pauseparam = set_pauseparam, | 794 | .set_pauseparam = set_pauseparam, |
795 | .get_rx_csum = get_rx_csum, | 795 | .get_rx_csum = get_rx_csum, |
796 | .set_rx_csum = set_rx_csum, | 796 | .set_rx_csum = set_rx_csum, |
797 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
798 | .set_tx_csum = ethtool_op_set_tx_csum, | 797 | .set_tx_csum = ethtool_op_set_tx_csum, |
799 | .get_sg = ethtool_op_get_sg, | ||
800 | .set_sg = ethtool_op_set_sg, | 798 | .set_sg = ethtool_op_set_sg, |
801 | .get_link = ethtool_op_get_link, | 799 | .get_link = ethtool_op_get_link, |
802 | .get_strings = get_strings, | 800 | .get_strings = get_strings, |
@@ -804,7 +802,6 @@ static const struct ethtool_ops t1_ethtool_ops = { | |||
804 | .get_ethtool_stats = get_stats, | 802 | .get_ethtool_stats = get_stats, |
805 | .get_regs_len = get_regs_len, | 803 | .get_regs_len = get_regs_len, |
806 | .get_regs = get_regs, | 804 | .get_regs = get_regs, |
807 | .get_tso = ethtool_op_get_tso, | ||
808 | .set_tso = set_tso, | 805 | .set_tso = set_tso, |
809 | }; | 806 | }; |
810 | 807 | ||
diff --git a/drivers/net/cxgb3/cxgb3_main.c b/drivers/net/cxgb3/cxgb3_main.c index 19937498589d..04633ea55202 100644 --- a/drivers/net/cxgb3/cxgb3_main.c +++ b/drivers/net/cxgb3/cxgb3_main.c | |||
@@ -1634,9 +1634,7 @@ static const struct ethtool_ops cxgb_ethtool_ops = { | |||
1634 | .set_pauseparam = set_pauseparam, | 1634 | .set_pauseparam = set_pauseparam, |
1635 | .get_rx_csum = get_rx_csum, | 1635 | .get_rx_csum = get_rx_csum, |
1636 | .set_rx_csum = set_rx_csum, | 1636 | .set_rx_csum = set_rx_csum, |
1637 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1638 | .set_tx_csum = ethtool_op_set_tx_csum, | 1637 | .set_tx_csum = ethtool_op_set_tx_csum, |
1639 | .get_sg = ethtool_op_get_sg, | ||
1640 | .set_sg = ethtool_op_set_sg, | 1638 | .set_sg = ethtool_op_set_sg, |
1641 | .get_link = ethtool_op_get_link, | 1639 | .get_link = ethtool_op_get_link, |
1642 | .get_strings = get_strings, | 1640 | .get_strings = get_strings, |
@@ -1647,7 +1645,6 @@ static const struct ethtool_ops cxgb_ethtool_ops = { | |||
1647 | .get_regs_len = get_regs_len, | 1645 | .get_regs_len = get_regs_len, |
1648 | .get_regs = get_regs, | 1646 | .get_regs = get_regs, |
1649 | .get_wol = get_wol, | 1647 | .get_wol = get_wol, |
1650 | .get_tso = ethtool_op_get_tso, | ||
1651 | .set_tso = ethtool_op_set_tso, | 1648 | .set_tso = ethtool_op_set_tso, |
1652 | }; | 1649 | }; |
1653 | 1650 | ||
diff --git a/drivers/net/e1000/e1000_ethtool.c b/drivers/net/e1000/e1000_ethtool.c index 76d16aaf05b6..e6c4a3bb9e4c 100644 --- a/drivers/net/e1000/e1000_ethtool.c +++ b/drivers/net/e1000/e1000_ethtool.c | |||
@@ -1965,9 +1965,7 @@ static const struct ethtool_ops e1000_ethtool_ops = { | |||
1965 | .set_rx_csum = e1000_set_rx_csum, | 1965 | .set_rx_csum = e1000_set_rx_csum, |
1966 | .get_tx_csum = e1000_get_tx_csum, | 1966 | .get_tx_csum = e1000_get_tx_csum, |
1967 | .set_tx_csum = e1000_set_tx_csum, | 1967 | .set_tx_csum = e1000_set_tx_csum, |
1968 | .get_sg = ethtool_op_get_sg, | ||
1969 | .set_sg = ethtool_op_set_sg, | 1968 | .set_sg = ethtool_op_set_sg, |
1970 | .get_tso = ethtool_op_get_tso, | ||
1971 | .set_tso = e1000_set_tso, | 1969 | .set_tso = e1000_set_tso, |
1972 | .self_test_count = e1000_diag_test_count, | 1970 | .self_test_count = e1000_diag_test_count, |
1973 | .self_test = e1000_diag_test, | 1971 | .self_test = e1000_diag_test, |
diff --git a/drivers/net/ehea/ehea_ethtool.c b/drivers/net/ehea/ehea_ethtool.c index 29ef7a98f8be..6498455bf97c 100644 --- a/drivers/net/ehea/ehea_ethtool.c +++ b/drivers/net/ehea/ehea_ethtool.c | |||
@@ -262,9 +262,6 @@ const struct ethtool_ops ehea_ethtool_ops = { | |||
262 | .get_msglevel = ehea_get_msglevel, | 262 | .get_msglevel = ehea_get_msglevel, |
263 | .set_msglevel = ehea_set_msglevel, | 263 | .set_msglevel = ehea_set_msglevel, |
264 | .get_link = ethtool_op_get_link, | 264 | .get_link = ethtool_op_get_link, |
265 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
266 | .get_sg = ethtool_op_get_sg, | ||
267 | .get_tso = ethtool_op_get_tso, | ||
268 | .set_tso = ethtool_op_set_tso, | 265 | .set_tso = ethtool_op_set_tso, |
269 | .get_strings = ehea_get_strings, | 266 | .get_strings = ehea_get_strings, |
270 | .get_stats_count = ehea_get_stats_count, | 267 | .get_stats_count = ehea_get_stats_count, |
diff --git a/drivers/net/epic100.c b/drivers/net/epic100.c index 122ffd2f0822..5ac56f20003d 100644 --- a/drivers/net/epic100.c +++ b/drivers/net/epic100.c | |||
@@ -1494,8 +1494,6 @@ static const struct ethtool_ops netdev_ethtool_ops = { | |||
1494 | .get_link = netdev_get_link, | 1494 | .get_link = netdev_get_link, |
1495 | .get_msglevel = netdev_get_msglevel, | 1495 | .get_msglevel = netdev_get_msglevel, |
1496 | .set_msglevel = netdev_set_msglevel, | 1496 | .set_msglevel = netdev_set_msglevel, |
1497 | .get_sg = ethtool_op_get_sg, | ||
1498 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1499 | .begin = ethtool_begin, | 1497 | .begin = ethtool_begin, |
1500 | .complete = ethtool_complete | 1498 | .complete = ethtool_complete |
1501 | }; | 1499 | }; |
diff --git a/drivers/net/fealnx.c b/drivers/net/fealnx.c index e9353072a96d..402b071d8d53 100644 --- a/drivers/net/fealnx.c +++ b/drivers/net/fealnx.c | |||
@@ -1891,8 +1891,6 @@ static const struct ethtool_ops netdev_ethtool_ops = { | |||
1891 | .get_link = netdev_get_link, | 1891 | .get_link = netdev_get_link, |
1892 | .get_msglevel = netdev_get_msglevel, | 1892 | .get_msglevel = netdev_get_msglevel, |
1893 | .set_msglevel = netdev_set_msglevel, | 1893 | .set_msglevel = netdev_set_msglevel, |
1894 | .get_sg = ethtool_op_get_sg, | ||
1895 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1896 | }; | 1894 | }; |
1897 | 1895 | ||
1898 | static int mii_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | 1896 | static int mii_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) |
diff --git a/drivers/net/fec_8xx/fec_main.c b/drivers/net/fec_8xx/fec_main.c index 6f214ab12fff..8d2904fa5789 100644 --- a/drivers/net/fec_8xx/fec_main.c +++ b/drivers/net/fec_8xx/fec_main.c | |||
@@ -1041,9 +1041,7 @@ static const struct ethtool_ops fec_ethtool_ops = { | |||
1041 | .get_link = ethtool_op_get_link, | 1041 | .get_link = ethtool_op_get_link, |
1042 | .get_msglevel = fec_get_msglevel, | 1042 | .get_msglevel = fec_get_msglevel, |
1043 | .set_msglevel = fec_set_msglevel, | 1043 | .set_msglevel = fec_set_msglevel, |
1044 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1045 | .set_tx_csum = ethtool_op_set_tx_csum, /* local! */ | 1044 | .set_tx_csum = ethtool_op_set_tx_csum, /* local! */ |
1046 | .get_sg = ethtool_op_get_sg, | ||
1047 | .set_sg = ethtool_op_set_sg, | 1045 | .set_sg = ethtool_op_set_sg, |
1048 | .get_regs = fec_get_regs, | 1046 | .get_regs = fec_get_regs, |
1049 | }; | 1047 | }; |
diff --git a/drivers/net/forcedeth.c b/drivers/net/forcedeth.c index 050a8f14eda8..be744573b1c2 100644 --- a/drivers/net/forcedeth.c +++ b/drivers/net/forcedeth.c | |||
@@ -4710,7 +4710,6 @@ static const struct ethtool_ops ops = { | |||
4710 | .get_regs_len = nv_get_regs_len, | 4710 | .get_regs_len = nv_get_regs_len, |
4711 | .get_regs = nv_get_regs, | 4711 | .get_regs = nv_get_regs, |
4712 | .nway_reset = nv_nway_reset, | 4712 | .nway_reset = nv_nway_reset, |
4713 | .get_tso = ethtool_op_get_tso, | ||
4714 | .set_tso = nv_set_tso, | 4713 | .set_tso = nv_set_tso, |
4715 | .get_ringparam = nv_get_ringparam, | 4714 | .get_ringparam = nv_get_ringparam, |
4716 | .set_ringparam = nv_set_ringparam, | 4715 | .set_ringparam = nv_set_ringparam, |
@@ -4718,9 +4717,7 @@ static const struct ethtool_ops ops = { | |||
4718 | .set_pauseparam = nv_set_pauseparam, | 4717 | .set_pauseparam = nv_set_pauseparam, |
4719 | .get_rx_csum = nv_get_rx_csum, | 4718 | .get_rx_csum = nv_get_rx_csum, |
4720 | .set_rx_csum = nv_set_rx_csum, | 4719 | .set_rx_csum = nv_set_rx_csum, |
4721 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
4722 | .set_tx_csum = nv_set_tx_csum, | 4720 | .set_tx_csum = nv_set_tx_csum, |
4723 | .get_sg = ethtool_op_get_sg, | ||
4724 | .set_sg = nv_set_sg, | 4721 | .set_sg = nv_set_sg, |
4725 | .get_strings = nv_get_strings, | 4722 | .get_strings = nv_get_strings, |
4726 | .get_stats_count = nv_get_stats_count, | 4723 | .get_stats_count = nv_get_stats_count, |
diff --git a/drivers/net/fs_enet/fs_enet-main.c b/drivers/net/fs_enet/fs_enet-main.c index f6789a8db8cd..f9079599dd22 100644 --- a/drivers/net/fs_enet/fs_enet-main.c +++ b/drivers/net/fs_enet/fs_enet-main.c | |||
@@ -907,9 +907,7 @@ static const struct ethtool_ops fs_ethtool_ops = { | |||
907 | .get_link = ethtool_op_get_link, | 907 | .get_link = ethtool_op_get_link, |
908 | .get_msglevel = fs_get_msglevel, | 908 | .get_msglevel = fs_get_msglevel, |
909 | .set_msglevel = fs_set_msglevel, | 909 | .set_msglevel = fs_set_msglevel, |
910 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
911 | .set_tx_csum = ethtool_op_set_tx_csum, /* local! */ | 910 | .set_tx_csum = ethtool_op_set_tx_csum, /* local! */ |
912 | .get_sg = ethtool_op_get_sg, | ||
913 | .set_sg = ethtool_op_set_sg, | 911 | .set_sg = ethtool_op_set_sg, |
914 | .get_regs = fs_get_regs, | 912 | .get_regs = fs_get_regs, |
915 | }; | 913 | }; |
diff --git a/drivers/net/ibm_emac/ibm_emac_core.c b/drivers/net/ibm_emac/ibm_emac_core.c index 354616b0b57b..d7da56b105cb 100644 --- a/drivers/net/ibm_emac/ibm_emac_core.c +++ b/drivers/net/ibm_emac/ibm_emac_core.c | |||
@@ -1900,8 +1900,6 @@ static const struct ethtool_ops emac_ethtool_ops = { | |||
1900 | .get_ethtool_stats = emac_ethtool_get_ethtool_stats, | 1900 | .get_ethtool_stats = emac_ethtool_get_ethtool_stats, |
1901 | 1901 | ||
1902 | .get_link = ethtool_op_get_link, | 1902 | .get_link = ethtool_op_get_link, |
1903 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1904 | .get_sg = ethtool_op_get_sg, | ||
1905 | }; | 1903 | }; |
1906 | 1904 | ||
1907 | static int emac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd) | 1905 | static int emac_ioctl(struct net_device *ndev, struct ifreq *rq, int cmd) |
diff --git a/drivers/net/ibmveth.c b/drivers/net/ibmveth.c index bdbf3dead4e2..0636883449fc 100644 --- a/drivers/net/ibmveth.c +++ b/drivers/net/ibmveth.c | |||
@@ -821,15 +821,11 @@ static const struct ethtool_ops netdev_ethtool_ops = { | |||
821 | .get_drvinfo = netdev_get_drvinfo, | 821 | .get_drvinfo = netdev_get_drvinfo, |
822 | .get_settings = netdev_get_settings, | 822 | .get_settings = netdev_get_settings, |
823 | .get_link = netdev_get_link, | 823 | .get_link = netdev_get_link, |
824 | .get_sg = ethtool_op_get_sg, | ||
825 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
826 | .set_tx_csum = ibmveth_set_tx_csum, | 824 | .set_tx_csum = ibmveth_set_tx_csum, |
827 | .get_rx_csum = ibmveth_get_rx_csum, | 825 | .get_rx_csum = ibmveth_get_rx_csum, |
828 | .set_rx_csum = ibmveth_set_rx_csum, | 826 | .set_rx_csum = ibmveth_set_rx_csum, |
829 | .get_tso = ethtool_op_get_tso, | ||
830 | .get_ufo = ethtool_op_get_ufo, | ||
831 | .get_strings = ibmveth_get_strings, | 827 | .get_strings = ibmveth_get_strings, |
832 | .get_stats_count = ibmveth_get_stats_count, | 828 | .get_stats_count = ibmveth_get_stats_count, |
833 | .get_ethtool_stats = ibmveth_get_ethtool_stats, | 829 | .get_ethtool_stats = ibmveth_get_ethtool_stats, |
834 | }; | 830 | }; |
835 | 831 | ||
diff --git a/drivers/net/ixgb/ixgb_ethtool.c b/drivers/net/ixgb/ixgb_ethtool.c index 21d35bc53906..181b59dc1ac3 100644 --- a/drivers/net/ixgb/ixgb_ethtool.c +++ b/drivers/net/ixgb/ixgb_ethtool.c | |||
@@ -713,11 +713,9 @@ static const struct ethtool_ops ixgb_ethtool_ops = { | |||
713 | .set_rx_csum = ixgb_set_rx_csum, | 713 | .set_rx_csum = ixgb_set_rx_csum, |
714 | .get_tx_csum = ixgb_get_tx_csum, | 714 | .get_tx_csum = ixgb_get_tx_csum, |
715 | .set_tx_csum = ixgb_set_tx_csum, | 715 | .set_tx_csum = ixgb_set_tx_csum, |
716 | .get_sg = ethtool_op_get_sg, | ||
717 | .set_sg = ethtool_op_set_sg, | 716 | .set_sg = ethtool_op_set_sg, |
718 | .get_msglevel = ixgb_get_msglevel, | 717 | .get_msglevel = ixgb_get_msglevel, |
719 | .set_msglevel = ixgb_set_msglevel, | 718 | .set_msglevel = ixgb_set_msglevel, |
720 | .get_tso = ethtool_op_get_tso, | ||
721 | .set_tso = ixgb_set_tso, | 719 | .set_tso = ixgb_set_tso, |
722 | .get_strings = ixgb_get_strings, | 720 | .get_strings = ixgb_get_strings, |
723 | .phys_id = ixgb_phys_id, | 721 | .phys_id = ixgb_phys_id, |
diff --git a/drivers/net/loopback.c b/drivers/net/loopback.c index a328da72833c..0e2252fd71ab 100644 --- a/drivers/net/loopback.c +++ b/drivers/net/loopback.c | |||
@@ -192,7 +192,6 @@ static u32 always_on(struct net_device *dev) | |||
192 | 192 | ||
193 | static const struct ethtool_ops loopback_ethtool_ops = { | 193 | static const struct ethtool_ops loopback_ethtool_ops = { |
194 | .get_link = always_on, | 194 | .get_link = always_on, |
195 | .get_tso = ethtool_op_get_tso, | ||
196 | .set_tso = ethtool_op_set_tso, | 195 | .set_tso = ethtool_op_set_tso, |
197 | .get_tx_csum = always_on, | 196 | .get_tx_csum = always_on, |
198 | .get_sg = always_on, | 197 | .get_sg = always_on, |
diff --git a/drivers/net/macvlan.c b/drivers/net/macvlan.c index 2de073da182c..2f6cdaa88729 100644 --- a/drivers/net/macvlan.c +++ b/drivers/net/macvlan.c | |||
@@ -282,10 +282,6 @@ static u32 macvlan_ethtool_get_rx_csum(struct net_device *dev) | |||
282 | static const struct ethtool_ops macvlan_ethtool_ops = { | 282 | static const struct ethtool_ops macvlan_ethtool_ops = { |
283 | .get_link = ethtool_op_get_link, | 283 | .get_link = ethtool_op_get_link, |
284 | .get_rx_csum = macvlan_ethtool_get_rx_csum, | 284 | .get_rx_csum = macvlan_ethtool_get_rx_csum, |
285 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
286 | .get_tso = ethtool_op_get_tso, | ||
287 | .get_ufo = ethtool_op_get_ufo, | ||
288 | .get_sg = ethtool_op_get_sg, | ||
289 | .get_drvinfo = macvlan_ethtool_get_drvinfo, | 285 | .get_drvinfo = macvlan_ethtool_get_drvinfo, |
290 | }; | 286 | }; |
291 | 287 | ||
diff --git a/drivers/net/mv643xx_eth.c b/drivers/net/mv643xx_eth.c index 35781616eb23..34df02cfdbe7 100644 --- a/drivers/net/mv643xx_eth.c +++ b/drivers/net/mv643xx_eth.c | |||
@@ -2735,7 +2735,6 @@ static const struct ethtool_ops mv643xx_ethtool_ops = { | |||
2735 | .set_settings = mv643xx_set_settings, | 2735 | .set_settings = mv643xx_set_settings, |
2736 | .get_drvinfo = mv643xx_get_drvinfo, | 2736 | .get_drvinfo = mv643xx_get_drvinfo, |
2737 | .get_link = mv643xx_eth_get_link, | 2737 | .get_link = mv643xx_eth_get_link, |
2738 | .get_sg = ethtool_op_get_sg, | ||
2739 | .set_sg = ethtool_op_set_sg, | 2738 | .set_sg = ethtool_op_set_sg, |
2740 | .get_stats_count = mv643xx_get_stats_count, | 2739 | .get_stats_count = mv643xx_get_stats_count, |
2741 | .get_ethtool_stats = mv643xx_get_ethtool_stats, | 2740 | .get_ethtool_stats = mv643xx_get_ethtool_stats, |
diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c index 6dc28b824935..2f8864e70ca9 100644 --- a/drivers/net/myri10ge/myri10ge.c +++ b/drivers/net/myri10ge/myri10ge.c | |||
@@ -1499,11 +1499,8 @@ static const struct ethtool_ops myri10ge_ethtool_ops = { | |||
1499 | .get_ringparam = myri10ge_get_ringparam, | 1499 | .get_ringparam = myri10ge_get_ringparam, |
1500 | .get_rx_csum = myri10ge_get_rx_csum, | 1500 | .get_rx_csum = myri10ge_get_rx_csum, |
1501 | .set_rx_csum = myri10ge_set_rx_csum, | 1501 | .set_rx_csum = myri10ge_set_rx_csum, |
1502 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1503 | .set_tx_csum = ethtool_op_set_tx_hw_csum, | 1502 | .set_tx_csum = ethtool_op_set_tx_hw_csum, |
1504 | .get_sg = ethtool_op_get_sg, | ||
1505 | .set_sg = ethtool_op_set_sg, | 1503 | .set_sg = ethtool_op_set_sg, |
1506 | .get_tso = ethtool_op_get_tso, | ||
1507 | .set_tso = ethtool_op_set_tso, | 1504 | .set_tso = ethtool_op_set_tso, |
1508 | .get_link = ethtool_op_get_link, | 1505 | .get_link = ethtool_op_get_link, |
1509 | .get_strings = myri10ge_get_strings, | 1506 | .get_strings = myri10ge_get_strings, |
diff --git a/drivers/net/ne2k-pci.c b/drivers/net/ne2k-pci.c index 7ec362b2e3e5..a5879672903e 100644 --- a/drivers/net/ne2k-pci.c +++ b/drivers/net/ne2k-pci.c | |||
@@ -635,8 +635,6 @@ static void ne2k_pci_get_drvinfo(struct net_device *dev, | |||
635 | 635 | ||
636 | static const struct ethtool_ops ne2k_pci_ethtool_ops = { | 636 | static const struct ethtool_ops ne2k_pci_ethtool_ops = { |
637 | .get_drvinfo = ne2k_pci_get_drvinfo, | 637 | .get_drvinfo = ne2k_pci_get_drvinfo, |
638 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
639 | .get_sg = ethtool_op_get_sg, | ||
640 | }; | 638 | }; |
641 | 639 | ||
642 | static void __devexit ne2k_pci_remove_one (struct pci_dev *pdev) | 640 | static void __devexit ne2k_pci_remove_one (struct pci_dev *pdev) |
diff --git a/drivers/net/netxen/netxen_nic_ethtool.c b/drivers/net/netxen/netxen_nic_ethtool.c index a6138b474b4a..08c76b343663 100644 --- a/drivers/net/netxen/netxen_nic_ethtool.c +++ b/drivers/net/netxen/netxen_nic_ethtool.c | |||
@@ -744,11 +744,8 @@ struct ethtool_ops netxen_nic_ethtool_ops = { | |||
744 | .get_ringparam = netxen_nic_get_ringparam, | 744 | .get_ringparam = netxen_nic_get_ringparam, |
745 | .get_pauseparam = netxen_nic_get_pauseparam, | 745 | .get_pauseparam = netxen_nic_get_pauseparam, |
746 | .set_pauseparam = netxen_nic_set_pauseparam, | 746 | .set_pauseparam = netxen_nic_set_pauseparam, |
747 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
748 | .set_tx_csum = ethtool_op_set_tx_csum, | 747 | .set_tx_csum = ethtool_op_set_tx_csum, |
749 | .get_sg = ethtool_op_get_sg, | ||
750 | .set_sg = ethtool_op_set_sg, | 748 | .set_sg = ethtool_op_set_sg, |
751 | .get_tso = ethtool_op_get_tso, | ||
752 | .set_tso = ethtool_op_set_tso, | 749 | .set_tso = ethtool_op_set_tso, |
753 | .self_test_count = netxen_nic_diag_test_count, | 750 | .self_test_count = netxen_nic_diag_test_count, |
754 | .self_test = netxen_nic_diag_test, | 751 | .self_test = netxen_nic_diag_test, |
diff --git a/drivers/net/pcnet32.c b/drivers/net/pcnet32.c index 724d90bd1feb..4840ddea71ac 100644 --- a/drivers/net/pcnet32.c +++ b/drivers/net/pcnet32.c | |||
@@ -1509,9 +1509,6 @@ static const struct ethtool_ops pcnet32_ethtool_ops = { | |||
1509 | .get_link = pcnet32_get_link, | 1509 | .get_link = pcnet32_get_link, |
1510 | .get_ringparam = pcnet32_get_ringparam, | 1510 | .get_ringparam = pcnet32_get_ringparam, |
1511 | .set_ringparam = pcnet32_set_ringparam, | 1511 | .set_ringparam = pcnet32_set_ringparam, |
1512 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1513 | .get_sg = ethtool_op_get_sg, | ||
1514 | .get_tso = ethtool_op_get_tso, | ||
1515 | .get_strings = pcnet32_get_strings, | 1512 | .get_strings = pcnet32_get_strings, |
1516 | .self_test_count = pcnet32_self_test_count, | 1513 | .self_test_count = pcnet32_self_test_count, |
1517 | .self_test = pcnet32_ethtool_test, | 1514 | .self_test = pcnet32_ethtool_test, |
diff --git a/drivers/net/r8169.c b/drivers/net/r8169.c index b8809a8ef204..06a1a6f2d17b 100644 --- a/drivers/net/r8169.c +++ b/drivers/net/r8169.c | |||
@@ -1061,11 +1061,8 @@ static const struct ethtool_ops rtl8169_ethtool_ops = { | |||
1061 | .set_msglevel = rtl8169_set_msglevel, | 1061 | .set_msglevel = rtl8169_set_msglevel, |
1062 | .get_rx_csum = rtl8169_get_rx_csum, | 1062 | .get_rx_csum = rtl8169_get_rx_csum, |
1063 | .set_rx_csum = rtl8169_set_rx_csum, | 1063 | .set_rx_csum = rtl8169_set_rx_csum, |
1064 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1065 | .set_tx_csum = ethtool_op_set_tx_csum, | 1064 | .set_tx_csum = ethtool_op_set_tx_csum, |
1066 | .get_sg = ethtool_op_get_sg, | ||
1067 | .set_sg = ethtool_op_set_sg, | 1065 | .set_sg = ethtool_op_set_sg, |
1068 | .get_tso = ethtool_op_get_tso, | ||
1069 | .set_tso = ethtool_op_set_tso, | 1066 | .set_tso = ethtool_op_set_tso, |
1070 | .get_regs = rtl8169_get_regs, | 1067 | .get_regs = rtl8169_get_regs, |
1071 | .get_wol = rtl8169_get_wol, | 1068 | .get_wol = rtl8169_get_wol, |
diff --git a/drivers/net/s2io.c b/drivers/net/s2io.c index f77049b34e16..a285dd734a03 100644 --- a/drivers/net/s2io.c +++ b/drivers/net/s2io.c | |||
@@ -6326,13 +6326,10 @@ static const struct ethtool_ops netdev_ethtool_ops = { | |||
6326 | .set_pauseparam = s2io_ethtool_setpause_data, | 6326 | .set_pauseparam = s2io_ethtool_setpause_data, |
6327 | .get_rx_csum = s2io_ethtool_get_rx_csum, | 6327 | .get_rx_csum = s2io_ethtool_get_rx_csum, |
6328 | .set_rx_csum = s2io_ethtool_set_rx_csum, | 6328 | .set_rx_csum = s2io_ethtool_set_rx_csum, |
6329 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
6330 | .set_tx_csum = s2io_ethtool_op_set_tx_csum, | 6329 | .set_tx_csum = s2io_ethtool_op_set_tx_csum, |
6331 | .get_sg = ethtool_op_get_sg, | ||
6332 | .set_sg = ethtool_op_set_sg, | 6330 | .set_sg = ethtool_op_set_sg, |
6333 | .get_tso = s2io_ethtool_op_get_tso, | 6331 | .get_tso = s2io_ethtool_op_get_tso, |
6334 | .set_tso = s2io_ethtool_op_set_tso, | 6332 | .set_tso = s2io_ethtool_op_set_tso, |
6335 | .get_ufo = ethtool_op_get_ufo, | ||
6336 | .set_ufo = ethtool_op_set_ufo, | 6333 | .set_ufo = ethtool_op_set_ufo, |
6337 | .self_test_count = s2io_ethtool_self_test_count, | 6334 | .self_test_count = s2io_ethtool_self_test_count, |
6338 | .self_test = s2io_ethtool_test, | 6335 | .self_test = s2io_ethtool_test, |
diff --git a/drivers/net/sc92031.c b/drivers/net/sc92031.c index 872cb1cc9c41..02c472ecbe55 100644 --- a/drivers/net/sc92031.c +++ b/drivers/net/sc92031.c | |||
@@ -1396,13 +1396,9 @@ static struct ethtool_ops sc92031_ethtool_ops = { | |||
1396 | .set_wol = sc92031_ethtool_set_wol, | 1396 | .set_wol = sc92031_ethtool_set_wol, |
1397 | .nway_reset = sc92031_ethtool_nway_reset, | 1397 | .nway_reset = sc92031_ethtool_nway_reset, |
1398 | .get_link = ethtool_op_get_link, | 1398 | .get_link = ethtool_op_get_link, |
1399 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1400 | .get_sg = ethtool_op_get_sg, | ||
1401 | .get_tso = ethtool_op_get_tso, | ||
1402 | .get_strings = sc92031_ethtool_get_strings, | 1399 | .get_strings = sc92031_ethtool_get_strings, |
1403 | .get_stats_count = sc92031_ethtool_get_stats_count, | 1400 | .get_stats_count = sc92031_ethtool_get_stats_count, |
1404 | .get_ethtool_stats = sc92031_ethtool_get_ethtool_stats, | 1401 | .get_ethtool_stats = sc92031_ethtool_get_ethtool_stats, |
1405 | .get_ufo = ethtool_op_get_ufo, | ||
1406 | }; | 1402 | }; |
1407 | 1403 | ||
1408 | static int __devinit sc92031_probe(struct pci_dev *pdev, | 1404 | static int __devinit sc92031_probe(struct pci_dev *pdev, |
diff --git a/drivers/net/skge.c b/drivers/net/skge.c index 47a144d000d5..cac499f84131 100644 --- a/drivers/net/skge.c +++ b/drivers/net/skge.c | |||
@@ -811,9 +811,7 @@ static const struct ethtool_ops skge_ethtool_ops = { | |||
811 | .set_pauseparam = skge_set_pauseparam, | 811 | .set_pauseparam = skge_set_pauseparam, |
812 | .get_coalesce = skge_get_coalesce, | 812 | .get_coalesce = skge_get_coalesce, |
813 | .set_coalesce = skge_set_coalesce, | 813 | .set_coalesce = skge_set_coalesce, |
814 | .get_sg = ethtool_op_get_sg, | ||
815 | .set_sg = skge_set_sg, | 814 | .set_sg = skge_set_sg, |
816 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
817 | .set_tx_csum = skge_set_tx_csum, | 815 | .set_tx_csum = skge_set_tx_csum, |
818 | .get_rx_csum = skge_get_rx_csum, | 816 | .get_rx_csum = skge_get_rx_csum, |
819 | .set_rx_csum = skge_set_rx_csum, | 817 | .set_rx_csum = skge_set_rx_csum, |
diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c index 1b9e5f40ddee..b8c15f881eba 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c | |||
@@ -3710,11 +3710,8 @@ static const struct ethtool_ops sky2_ethtool_ops = { | |||
3710 | .get_eeprom_len = sky2_get_eeprom_len, | 3710 | .get_eeprom_len = sky2_get_eeprom_len, |
3711 | .get_eeprom = sky2_get_eeprom, | 3711 | .get_eeprom = sky2_get_eeprom, |
3712 | .set_eeprom = sky2_set_eeprom, | 3712 | .set_eeprom = sky2_set_eeprom, |
3713 | .get_sg = ethtool_op_get_sg, | ||
3714 | .set_sg = ethtool_op_set_sg, | 3713 | .set_sg = ethtool_op_set_sg, |
3715 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
3716 | .set_tx_csum = sky2_set_tx_csum, | 3714 | .set_tx_csum = sky2_set_tx_csum, |
3717 | .get_tso = ethtool_op_get_tso, | ||
3718 | .set_tso = sky2_set_tso, | 3715 | .set_tso = sky2_set_tso, |
3719 | .get_rx_csum = sky2_get_rx_csum, | 3716 | .get_rx_csum = sky2_get_rx_csum, |
3720 | .set_rx_csum = sky2_set_rx_csum, | 3717 | .set_rx_csum = sky2_set_rx_csum, |
diff --git a/drivers/net/spider_net_ethtool.c b/drivers/net/spider_net_ethtool.c index d940474e024a..1460d5006d1c 100644 --- a/drivers/net/spider_net_ethtool.c +++ b/drivers/net/spider_net_ethtool.c | |||
@@ -188,7 +188,6 @@ const struct ethtool_ops spider_net_ethtool_ops = { | |||
188 | .nway_reset = spider_net_ethtool_nway_reset, | 188 | .nway_reset = spider_net_ethtool_nway_reset, |
189 | .get_rx_csum = spider_net_ethtool_get_rx_csum, | 189 | .get_rx_csum = spider_net_ethtool_get_rx_csum, |
190 | .set_rx_csum = spider_net_ethtool_set_rx_csum, | 190 | .set_rx_csum = spider_net_ethtool_set_rx_csum, |
191 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
192 | .set_tx_csum = ethtool_op_set_tx_csum, | 191 | .set_tx_csum = ethtool_op_set_tx_csum, |
193 | .get_ringparam = spider_net_ethtool_get_ringparam, | 192 | .get_ringparam = spider_net_ethtool_get_ringparam, |
194 | .get_strings = spider_net_get_strings, | 193 | .get_strings = spider_net_get_strings, |
diff --git a/drivers/net/tg3.c b/drivers/net/tg3.c index 369a172a04aa..1b860e0817f6 100644 --- a/drivers/net/tg3.c +++ b/drivers/net/tg3.c | |||
@@ -9278,11 +9278,8 @@ static const struct ethtool_ops tg3_ethtool_ops = { | |||
9278 | .set_pauseparam = tg3_set_pauseparam, | 9278 | .set_pauseparam = tg3_set_pauseparam, |
9279 | .get_rx_csum = tg3_get_rx_csum, | 9279 | .get_rx_csum = tg3_get_rx_csum, |
9280 | .set_rx_csum = tg3_set_rx_csum, | 9280 | .set_rx_csum = tg3_set_rx_csum, |
9281 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
9282 | .set_tx_csum = tg3_set_tx_csum, | 9281 | .set_tx_csum = tg3_set_tx_csum, |
9283 | .get_sg = ethtool_op_get_sg, | ||
9284 | .set_sg = ethtool_op_set_sg, | 9282 | .set_sg = ethtool_op_set_sg, |
9285 | .get_tso = ethtool_op_get_tso, | ||
9286 | .set_tso = tg3_set_tso, | 9283 | .set_tso = tg3_set_tso, |
9287 | .self_test_count = tg3_get_test_count, | 9284 | .self_test_count = tg3_get_test_count, |
9288 | .self_test = tg3_self_test, | 9285 | .self_test = tg3_self_test, |
diff --git a/drivers/net/tulip/de2104x.c b/drivers/net/tulip/de2104x.c index bd04e93908ef..ba3d0e5574a4 100644 --- a/drivers/net/tulip/de2104x.c +++ b/drivers/net/tulip/de2104x.c | |||
@@ -1670,8 +1670,6 @@ static void de_get_regs(struct net_device *dev, struct ethtool_regs *regs, | |||
1670 | 1670 | ||
1671 | static const struct ethtool_ops de_ethtool_ops = { | 1671 | static const struct ethtool_ops de_ethtool_ops = { |
1672 | .get_link = ethtool_op_get_link, | 1672 | .get_link = ethtool_op_get_link, |
1673 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1674 | .get_sg = ethtool_op_get_sg, | ||
1675 | .get_drvinfo = de_get_drvinfo, | 1673 | .get_drvinfo = de_get_drvinfo, |
1676 | .get_regs_len = de_get_regs_len, | 1674 | .get_regs_len = de_get_regs_len, |
1677 | .get_settings = de_get_settings, | 1675 | .get_settings = de_get_settings, |
diff --git a/drivers/net/tulip/winbond-840.c b/drivers/net/tulip/winbond-840.c index 396f8455cd32..e00833fadc0b 100644 --- a/drivers/net/tulip/winbond-840.c +++ b/drivers/net/tulip/winbond-840.c | |||
@@ -1451,8 +1451,6 @@ static const struct ethtool_ops netdev_ethtool_ops = { | |||
1451 | .get_link = netdev_get_link, | 1451 | .get_link = netdev_get_link, |
1452 | .get_msglevel = netdev_get_msglevel, | 1452 | .get_msglevel = netdev_get_msglevel, |
1453 | .set_msglevel = netdev_set_msglevel, | 1453 | .set_msglevel = netdev_set_msglevel, |
1454 | .get_sg = ethtool_op_get_sg, | ||
1455 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1456 | }; | 1454 | }; |
1457 | 1455 | ||
1458 | static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | 1456 | static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) |
diff --git a/drivers/net/typhoon.c b/drivers/net/typhoon.c index 84d99fc77891..c6d8513ecad6 100644 --- a/drivers/net/typhoon.c +++ b/drivers/net/typhoon.c | |||
@@ -1236,11 +1236,8 @@ static const struct ethtool_ops typhoon_ethtool_ops = { | |||
1236 | .set_wol = typhoon_set_wol, | 1236 | .set_wol = typhoon_set_wol, |
1237 | .get_link = ethtool_op_get_link, | 1237 | .get_link = ethtool_op_get_link, |
1238 | .get_rx_csum = typhoon_get_rx_csum, | 1238 | .get_rx_csum = typhoon_get_rx_csum, |
1239 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1240 | .set_tx_csum = ethtool_op_set_tx_csum, | 1239 | .set_tx_csum = ethtool_op_set_tx_csum, |
1241 | .get_sg = ethtool_op_get_sg, | ||
1242 | .set_sg = ethtool_op_set_sg, | 1240 | .set_sg = ethtool_op_set_sg, |
1243 | .get_tso = ethtool_op_get_tso, | ||
1244 | .set_tso = ethtool_op_set_tso, | 1241 | .set_tso = ethtool_op_set_tso, |
1245 | .get_ringparam = typhoon_get_ringparam, | 1242 | .get_ringparam = typhoon_get_ringparam, |
1246 | }; | 1243 | }; |
diff --git a/drivers/net/ucc_geth_ethtool.c b/drivers/net/ucc_geth_ethtool.c index 64bef7c12365..73aa677a4a3e 100644 --- a/drivers/net/ucc_geth_ethtool.c +++ b/drivers/net/ucc_geth_ethtool.c | |||
@@ -373,9 +373,7 @@ static const struct ethtool_ops uec_ethtool_ops = { | |||
373 | .set_ringparam = uec_set_ringparam, | 373 | .set_ringparam = uec_set_ringparam, |
374 | .get_pauseparam = uec_get_pauseparam, | 374 | .get_pauseparam = uec_get_pauseparam, |
375 | .set_pauseparam = uec_set_pauseparam, | 375 | .set_pauseparam = uec_set_pauseparam, |
376 | .get_sg = ethtool_op_get_sg, | ||
377 | .set_sg = ethtool_op_set_sg, | 376 | .set_sg = ethtool_op_set_sg, |
378 | .get_tso = ethtool_op_get_tso, | ||
379 | .get_stats_count = uec_get_stats_count, | 377 | .get_stats_count = uec_get_stats_count, |
380 | .get_strings = uec_get_strings, | 378 | .get_strings = uec_get_strings, |
381 | .get_ethtool_stats = uec_get_ethtool_stats, | 379 | .get_ethtool_stats = uec_get_ethtool_stats, |
diff --git a/drivers/net/via-rhine.c b/drivers/net/via-rhine.c index 987f5b937e3c..d55c4fdff489 100644 --- a/drivers/net/via-rhine.c +++ b/drivers/net/via-rhine.c | |||
@@ -1813,8 +1813,6 @@ static const struct ethtool_ops netdev_ethtool_ops = { | |||
1813 | .set_msglevel = netdev_set_msglevel, | 1813 | .set_msglevel = netdev_set_msglevel, |
1814 | .get_wol = rhine_get_wol, | 1814 | .get_wol = rhine_get_wol, |
1815 | .set_wol = rhine_set_wol, | 1815 | .set_wol = rhine_set_wol, |
1816 | .get_sg = ethtool_op_get_sg, | ||
1817 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1818 | }; | 1816 | }; |
1819 | 1817 | ||
1820 | static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) | 1818 | static int netdev_ioctl(struct net_device *dev, struct ifreq *rq, int cmd) |
diff --git a/drivers/net/xen-netfront.c b/drivers/net/xen-netfront.c index 78e344ae7051..f464b82c7d5f 100644 --- a/drivers/net/xen-netfront.c +++ b/drivers/net/xen-netfront.c | |||
@@ -1617,11 +1617,8 @@ static void backend_changed(struct xenbus_device *dev, | |||
1617 | 1617 | ||
1618 | static struct ethtool_ops xennet_ethtool_ops = | 1618 | static struct ethtool_ops xennet_ethtool_ops = |
1619 | { | 1619 | { |
1620 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
1621 | .set_tx_csum = ethtool_op_set_tx_csum, | 1620 | .set_tx_csum = ethtool_op_set_tx_csum, |
1622 | .get_sg = ethtool_op_get_sg, | ||
1623 | .set_sg = xennet_set_sg, | 1621 | .set_sg = xennet_set_sg, |
1624 | .get_tso = ethtool_op_get_tso, | ||
1625 | .set_tso = xennet_set_tso, | 1622 | .set_tso = xennet_set_tso, |
1626 | .get_link = ethtool_op_get_link, | 1623 | .get_link = ethtool_op_get_link, |
1627 | }; | 1624 | }; |
diff --git a/net/bridge/br_device.c b/net/bridge/br_device.c index f803e39eee28..c07bac5e3e10 100644 --- a/net/bridge/br_device.c +++ b/net/bridge/br_device.c | |||
@@ -150,11 +150,8 @@ static int br_set_tx_csum(struct net_device *dev, u32 data) | |||
150 | static struct ethtool_ops br_ethtool_ops = { | 150 | static struct ethtool_ops br_ethtool_ops = { |
151 | .get_drvinfo = br_getinfo, | 151 | .get_drvinfo = br_getinfo, |
152 | .get_link = ethtool_op_get_link, | 152 | .get_link = ethtool_op_get_link, |
153 | .get_sg = ethtool_op_get_sg, | ||
154 | .set_sg = br_set_sg, | 153 | .set_sg = br_set_sg, |
155 | .get_tx_csum = ethtool_op_get_tx_csum, | ||
156 | .set_tx_csum = br_set_tx_csum, | 154 | .set_tx_csum = br_set_tx_csum, |
157 | .get_tso = ethtool_op_get_tso, | ||
158 | .set_tso = br_set_tso, | 155 | .set_tso = br_set_tso, |
159 | }; | 156 | }; |
160 | 157 | ||
diff --git a/net/core/ethtool.c b/net/core/ethtool.c index 0d0b13cc1dd3..1163eb2256d0 100644 --- a/net/core/ethtool.c +++ b/net/core/ethtool.c | |||
@@ -893,21 +893,27 @@ int dev_ethtool(struct net *net, struct ifreq *ifr) | |||
893 | break; | 893 | break; |
894 | case ETHTOOL_GTXCSUM: | 894 | case ETHTOOL_GTXCSUM: |
895 | rc = ethtool_get_value(dev, useraddr, ethcmd, | 895 | rc = ethtool_get_value(dev, useraddr, ethcmd, |
896 | dev->ethtool_ops->get_tx_csum); | 896 | (dev->ethtool_ops->get_tx_csum ? |
897 | dev->ethtool_ops->get_tx_csum : | ||
898 | ethtool_op_get_tx_csum)); | ||
897 | break; | 899 | break; |
898 | case ETHTOOL_STXCSUM: | 900 | case ETHTOOL_STXCSUM: |
899 | rc = ethtool_set_tx_csum(dev, useraddr); | 901 | rc = ethtool_set_tx_csum(dev, useraddr); |
900 | break; | 902 | break; |
901 | case ETHTOOL_GSG: | 903 | case ETHTOOL_GSG: |
902 | rc = ethtool_get_value(dev, useraddr, ethcmd, | 904 | rc = ethtool_get_value(dev, useraddr, ethcmd, |
903 | dev->ethtool_ops->get_sg); | 905 | (dev->ethtool_ops->get_sg ? |
906 | dev->ethtool_ops->get_sg : | ||
907 | ethtool_op_get_sg)); | ||
904 | break; | 908 | break; |
905 | case ETHTOOL_SSG: | 909 | case ETHTOOL_SSG: |
906 | rc = ethtool_set_sg(dev, useraddr); | 910 | rc = ethtool_set_sg(dev, useraddr); |
907 | break; | 911 | break; |
908 | case ETHTOOL_GTSO: | 912 | case ETHTOOL_GTSO: |
909 | rc = ethtool_get_value(dev, useraddr, ethcmd, | 913 | rc = ethtool_get_value(dev, useraddr, ethcmd, |
910 | dev->ethtool_ops->get_tso); | 914 | (dev->ethtool_ops->get_tso ? |
915 | dev->ethtool_ops->get_tso : | ||
916 | ethtool_op_get_tso)); | ||
911 | break; | 917 | break; |
912 | case ETHTOOL_STSO: | 918 | case ETHTOOL_STSO: |
913 | rc = ethtool_set_tso(dev, useraddr); | 919 | rc = ethtool_set_tso(dev, useraddr); |
@@ -929,7 +935,9 @@ int dev_ethtool(struct net *net, struct ifreq *ifr) | |||
929 | break; | 935 | break; |
930 | case ETHTOOL_GUFO: | 936 | case ETHTOOL_GUFO: |
931 | rc = ethtool_get_value(dev, useraddr, ethcmd, | 937 | rc = ethtool_get_value(dev, useraddr, ethcmd, |
932 | dev->ethtool_ops->get_ufo); | 938 | (dev->ethtool_ops->get_ufo ? |
939 | dev->ethtool_ops->get_ufo : | ||
940 | ethtool_op_get_ufo)); | ||
933 | break; | 941 | break; |
934 | case ETHTOOL_SUFO: | 942 | case ETHTOOL_SUFO: |
935 | rc = ethtool_set_ufo(dev, useraddr); | 943 | rc = ethtool_set_ufo(dev, useraddr); |