]>
Commit | Line | Data |
---|---|---|
055e5110 AC |
1 | /* 8390 core for ISA devices needing bus delays */ |
2 | ||
3 | static const char version[] = | |
4 | "8390p.c:v1.10cvs 9/23/94 Donald Becker ([email protected])\n"; | |
5 | ||
6 | #define ei_inb(_p) inb(_p) | |
caa1687c | 7 | #define ei_outb(_v, _p) outb(_v, _p) |
055e5110 | 8 | #define ei_inb_p(_p) inb_p(_p) |
caa1687c | 9 | #define ei_outb_p(_v, _p) outb_p(_v, _p) |
055e5110 AC |
10 | |
11 | #include "lib8390.c" | |
12 | ||
13 | int eip_open(struct net_device *dev) | |
14 | { | |
15 | return __ei_open(dev); | |
16 | } | |
caa1687c | 17 | EXPORT_SYMBOL(eip_open); |
055e5110 AC |
18 | |
19 | int eip_close(struct net_device *dev) | |
20 | { | |
21 | return __ei_close(dev); | |
22 | } | |
caa1687c | 23 | EXPORT_SYMBOL(eip_close); |
055e5110 | 24 | |
61357325 | 25 | netdev_tx_t eip_start_xmit(struct sk_buff *skb, struct net_device *dev) |
8884c092 SH |
26 | { |
27 | return __ei_start_xmit(skb, dev); | |
28 | } | |
29 | EXPORT_SYMBOL(eip_start_xmit); | |
30 | ||
31 | struct net_device_stats *eip_get_stats(struct net_device *dev) | |
32 | { | |
33 | return __ei_get_stats(dev); | |
34 | } | |
35 | EXPORT_SYMBOL(eip_get_stats); | |
36 | ||
37 | void eip_set_multicast_list(struct net_device *dev) | |
38 | { | |
39 | __ei_set_multicast_list(dev); | |
40 | } | |
41 | EXPORT_SYMBOL(eip_set_multicast_list); | |
42 | ||
43 | void eip_tx_timeout(struct net_device *dev) | |
44 | { | |
45 | __ei_tx_timeout(dev); | |
46 | } | |
47 | EXPORT_SYMBOL(eip_tx_timeout); | |
48 | ||
055e5110 AC |
49 | irqreturn_t eip_interrupt(int irq, void *dev_id) |
50 | { | |
51 | return __ei_interrupt(irq, dev_id); | |
52 | } | |
caa1687c | 53 | EXPORT_SYMBOL(eip_interrupt); |
055e5110 AC |
54 | |
55 | #ifdef CONFIG_NET_POLL_CONTROLLER | |
56 | void eip_poll(struct net_device *dev) | |
57 | { | |
58 | __ei_poll(dev); | |
59 | } | |
caa1687c | 60 | EXPORT_SYMBOL(eip_poll); |
055e5110 AC |
61 | #endif |
62 | ||
8884c092 SH |
63 | const struct net_device_ops eip_netdev_ops = { |
64 | .ndo_open = eip_open, | |
65 | .ndo_stop = eip_close, | |
66 | .ndo_start_xmit = eip_start_xmit, | |
67 | .ndo_tx_timeout = eip_tx_timeout, | |
68 | .ndo_get_stats = eip_get_stats, | |
69 | .ndo_set_multicast_list = eip_set_multicast_list, | |
70 | .ndo_validate_addr = eth_validate_addr, | |
fe96aaa1 | 71 | .ndo_set_mac_address = eth_mac_addr, |
8884c092 SH |
72 | .ndo_change_mtu = eth_change_mtu, |
73 | #ifdef CONFIG_NET_POLL_CONTROLLER | |
74 | .ndo_poll_controller = eip_poll, | |
75 | #endif | |
76 | }; | |
77 | EXPORT_SYMBOL(eip_netdev_ops); | |
78 | ||
055e5110 AC |
79 | struct net_device *__alloc_eip_netdev(int size) |
80 | { | |
9a4a8429 | 81 | struct net_device *dev = ____alloc_ei_netdev(size); |
eb9bdaee AB |
82 | if (dev) |
83 | dev->netdev_ops = &eip_netdev_ops; | |
9a4a8429 | 84 | return dev; |
055e5110 | 85 | } |
caa1687c | 86 | EXPORT_SYMBOL(__alloc_eip_netdev); |
055e5110 AC |
87 | |
88 | void NS8390p_init(struct net_device *dev, int startp) | |
89 | { | |
057b61af | 90 | __NS8390_init(dev, startp); |
055e5110 | 91 | } |
055e5110 | 92 | EXPORT_SYMBOL(NS8390p_init); |
055e5110 | 93 | |
ad8affd9 | 94 | static int __init NS8390p_init_module(void) |
055e5110 AC |
95 | { |
96 | return 0; | |
97 | } | |
98 | ||
ad8affd9 | 99 | static void __exit NS8390p_cleanup_module(void) |
055e5110 AC |
100 | { |
101 | } | |
102 | ||
ad8affd9 AB |
103 | module_init(NS8390p_init_module); |
104 | module_exit(NS8390p_cleanup_module); | |
055e5110 | 105 | MODULE_LICENSE("GPL"); |