USB: fsl_qe_udc: Fix stalled TX requests bug
[linux-2.6] / drivers / net / 8390.c
1 /* 8390 core for usual drivers */
2
3 static const char version[] =
4     "8390.c:v1.10cvs 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)\n";
5
6 #include "lib8390.c"
7
8 int ei_open(struct net_device *dev)
9 {
10         return __ei_open(dev);
11 }
12 EXPORT_SYMBOL(ei_open);
13
14 int ei_close(struct net_device *dev)
15 {
16         return __ei_close(dev);
17 }
18 EXPORT_SYMBOL(ei_close);
19
20 int ei_start_xmit(struct sk_buff *skb, struct net_device *dev)
21 {
22         return __ei_start_xmit(skb, dev);
23 }
24 EXPORT_SYMBOL(ei_start_xmit);
25
26 struct net_device_stats *ei_get_stats(struct net_device *dev)
27 {
28         return __ei_get_stats(dev);
29 }
30 EXPORT_SYMBOL(ei_get_stats);
31
32 void ei_set_multicast_list(struct net_device *dev)
33 {
34         __ei_set_multicast_list(dev);
35 }
36 EXPORT_SYMBOL(ei_set_multicast_list);
37
38 void ei_tx_timeout(struct net_device *dev)
39 {
40         __ei_tx_timeout(dev);
41 }
42 EXPORT_SYMBOL(ei_tx_timeout);
43
44 irqreturn_t ei_interrupt(int irq, void *dev_id)
45 {
46         return __ei_interrupt(irq, dev_id);
47 }
48 EXPORT_SYMBOL(ei_interrupt);
49
50 #ifdef CONFIG_NET_POLL_CONTROLLER
51 void ei_poll(struct net_device *dev)
52 {
53         __ei_poll(dev);
54 }
55 EXPORT_SYMBOL(ei_poll);
56 #endif
57
58 const struct net_device_ops ei_netdev_ops = {
59         .ndo_open               = ei_open,
60         .ndo_stop               = ei_close,
61         .ndo_start_xmit         = ei_start_xmit,
62         .ndo_tx_timeout         = ei_tx_timeout,
63         .ndo_get_stats          = ei_get_stats,
64         .ndo_set_multicast_list = ei_set_multicast_list,
65         .ndo_validate_addr      = eth_validate_addr,
66         .ndo_set_mac_address    = eth_mac_addr,
67         .ndo_change_mtu         = eth_change_mtu,
68 #ifdef CONFIG_NET_POLL_CONTROLLER
69         .ndo_poll_controller    = ei_poll,
70 #endif
71 };
72 EXPORT_SYMBOL(ei_netdev_ops);
73
74 struct net_device *__alloc_ei_netdev(int size)
75 {
76         struct net_device *dev = ____alloc_ei_netdev(size);
77 #ifdef CONFIG_COMPAT_NET_DEV_OPS
78         if (dev) {
79                 dev->hard_start_xmit = ei_start_xmit;
80                 dev->get_stats  = ei_get_stats;
81                 dev->set_multicast_list = ei_set_multicast_list;
82                 dev->tx_timeout = ei_tx_timeout;
83         }
84 #endif
85         return dev;
86 }
87 EXPORT_SYMBOL(__alloc_ei_netdev);
88
89 void NS8390_init(struct net_device *dev, int startp)
90 {
91         __NS8390_init(dev, startp);
92 }
93 EXPORT_SYMBOL(NS8390_init);
94
95 #if defined(MODULE)
96
97 static int __init ns8390_module_init(void)
98 {
99         return 0;
100 }
101
102 static void __exit ns8390_module_exit(void)
103 {
104 }
105
106 module_init(ns8390_module_init);
107 module_exit(ns8390_module_exit);
108 #endif /* MODULE */
109 MODULE_LICENSE("GPL");