diff options
author | Stephen Hemminger <shemminger@vyatta.com> | 2008-11-25 18:12:49 -0800 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-11-25 18:12:49 -0800 |
commit | 8884c092e5e4f9a1b6e44f2e02a3eb5481af87ab (patch) | |
tree | 3afd7d5b3453aa34ce1f6bb010c3e843ca337b90 /drivers/net/8390.c | |
parent | b27aeadb5948d400df83db4d29590fb9862ba49d (diff) | |
download | linux-3.10-8884c092e5e4f9a1b6e44f2e02a3eb5481af87ab.tar.gz linux-3.10-8884c092e5e4f9a1b6e44f2e02a3eb5481af87ab.tar.bz2 linux-3.10-8884c092e5e4f9a1b6e44f2e02a3eb5481af87ab.zip |
8390: add common net_device ops
Fix the defactoring of ei_XXX functions in 8390 and 8390p.
Remove the tx_timeout hack since no driver including the 3c503
overrides tx_timeout at this time, looks like a legacy thing.
Also, since several drivers all have same hooks, provide common
netdev_ops.
Signed-off-by: Stephen Hemminger <shemminger@vyatta.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/8390.c')
-rw-r--r-- | drivers/net/8390.c | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/drivers/net/8390.c b/drivers/net/8390.c index f72a2e87d56..029ad08f033 100644 --- a/drivers/net/8390.c +++ b/drivers/net/8390.c @@ -17,6 +17,30 @@ int ei_close(struct net_device *dev) } EXPORT_SYMBOL(ei_close); +int ei_start_xmit(struct sk_buff *skb, struct net_device *dev) +{ + return __ei_start_xmit(skb, dev); +} +EXPORT_SYMBOL(ei_start_xmit); + +struct net_device_stats *ei_get_stats(struct net_device *dev) +{ + return __ei_get_stats(dev); +} +EXPORT_SYMBOL(ei_get_stats); + +void ei_set_multicast_list(struct net_device *dev) +{ + __ei_set_multicast_list(dev); +} +EXPORT_SYMBOL(ei_set_multicast_list); + +void ei_tx_timeout(struct net_device *dev) +{ + __ei_tx_timeout(dev); +} +EXPORT_SYMBOL(ei_tx_timeout); + irqreturn_t ei_interrupt(int irq, void *dev_id) { return __ei_interrupt(irq, dev_id); @@ -31,6 +55,21 @@ void ei_poll(struct net_device *dev) EXPORT_SYMBOL(ei_poll); #endif +const struct net_device_ops ei_netdev_ops = { + .ndo_open = ei_open, + .ndo_stop = ei_close, + .ndo_start_xmit = ei_start_xmit, + .ndo_tx_timeout = ei_tx_timeout, + .ndo_get_stats = ei_get_stats, + .ndo_set_multicast_list = ei_set_multicast_list, + .ndo_validate_addr = eth_validate_addr, + .ndo_change_mtu = eth_change_mtu, +#ifdef CONFIG_NET_POLL_CONTROLLER + .ndo_poll_controller = ei_poll, +#endif +}; +EXPORT_SYMBOL(ei_netdev_ops); + struct net_device *__alloc_ei_netdev(int size) { return ____alloc_ei_netdev(size); |