diff options
author | Ben Hutchings <bhutchings@solarflare.com> | 2010-08-17 05:31:15 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-08-17 05:31:15 -0400 |
commit | 01414802054c382072b6cb9a1bdc6e243c74b2d5 (patch) | |
tree | f09b05eb9fff16a69d83ec28653992d1bae8d74c /drivers/net/tulip | |
parent | bb8a10bbd10a45db0eb45bac520489bdbc0917ef (diff) |
ethtool: Provide a default implementation of ethtool_ops::get_drvinfo
The driver name and bus address for a net_device can normally be found
through the driver model now. Instead of requiring drivers to provide
this information redundantly through the ethtool_ops::get_drvinfo
operation, use the driver model to do so if the driver does not define
the operation. Since ETHTOOL_GDRVINFO no longer requires the driver
to implement any operations, do not require net_device::ethtool_ops to
be set either.
Remove implementations of get_drvinfo and ethtool_ops that provide
only this information.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/tulip')
-rw-r--r-- | drivers/net/tulip/xircom_cb.c | 15 |
1 files changed, 0 insertions, 15 deletions
diff --git a/drivers/net/tulip/xircom_cb.c b/drivers/net/tulip/xircom_cb.c index a439e93be22d..5a73752be2ca 100644 --- a/drivers/net/tulip/xircom_cb.c +++ b/drivers/net/tulip/xircom_cb.c | |||
@@ -29,7 +29,6 @@ | |||
29 | #include <linux/skbuff.h> | 29 | #include <linux/skbuff.h> |
30 | #include <linux/delay.h> | 30 | #include <linux/delay.h> |
31 | #include <linux/init.h> | 31 | #include <linux/init.h> |
32 | #include <linux/ethtool.h> | ||
33 | #include <linux/bitops.h> | 32 | #include <linux/bitops.h> |
34 | 33 | ||
35 | #include <asm/uaccess.h> | 34 | #include <asm/uaccess.h> |
@@ -181,19 +180,6 @@ static void print_binary(unsigned int number) | |||
181 | } | 180 | } |
182 | #endif | 181 | #endif |
183 | 182 | ||
184 | static void netdev_get_drvinfo(struct net_device *dev, | ||
185 | struct ethtool_drvinfo *info) | ||
186 | { | ||
187 | struct xircom_private *private = netdev_priv(dev); | ||
188 | |||
189 | strcpy(info->driver, "xircom_cb"); | ||
190 | strcpy(info->bus_info, pci_name(private->pdev)); | ||
191 | } | ||
192 | |||
193 | static const struct ethtool_ops netdev_ethtool_ops = { | ||
194 | .get_drvinfo = netdev_get_drvinfo, | ||
195 | }; | ||
196 | |||
197 | static const struct net_device_ops netdev_ops = { | 183 | static const struct net_device_ops netdev_ops = { |
198 | .ndo_open = xircom_open, | 184 | .ndo_open = xircom_open, |
199 | .ndo_stop = xircom_close, | 185 | .ndo_stop = xircom_close, |
@@ -279,7 +265,6 @@ static int __devinit xircom_probe(struct pci_dev *pdev, const struct pci_device_ | |||
279 | setup_descriptors(private); | 265 | setup_descriptors(private); |
280 | 266 | ||
281 | dev->netdev_ops = &netdev_ops; | 267 | dev->netdev_ops = &netdev_ops; |
282 | SET_ETHTOOL_OPS(dev, &netdev_ethtool_ops); | ||
283 | pci_set_drvdata(pdev, dev); | 268 | pci_set_drvdata(pdev, dev); |
284 | 269 | ||
285 | if (register_netdev(dev)) { | 270 | if (register_netdev(dev)) { |