Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
1/* 8390 core for ISA devices needing bus delays */
2
3static const char version[] =
4 "8390p.c:v1.10cvs 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov)\n";
5
6#define ei_inb(_p) inb(_p)
7#define ei_outb(_v, _p) outb(_v, _p)
8#define ei_inb_p(_p) inb_p(_p)
9#define ei_outb_p(_v, _p) outb_p(_v, _p)
10
11#include "lib8390.c"
12
13int eip_open(struct net_device *dev)
14{
15 return __ei_open(dev);
16}
17EXPORT_SYMBOL(eip_open);
18
19int eip_close(struct net_device *dev)
20{
21 return __ei_close(dev);
22}
23EXPORT_SYMBOL(eip_close);
24
25int eip_start_xmit(struct sk_buff *skb, struct net_device *dev)
26{
27 return __ei_start_xmit(skb, dev);
28}
29EXPORT_SYMBOL(eip_start_xmit);
30
31struct net_device_stats *eip_get_stats(struct net_device *dev)
32{
33 return __ei_get_stats(dev);
34}
35EXPORT_SYMBOL(eip_get_stats);
36
37void eip_set_multicast_list(struct net_device *dev)
38{
39 __ei_set_multicast_list(dev);
40}
41EXPORT_SYMBOL(eip_set_multicast_list);
42
43void eip_tx_timeout(struct net_device *dev)
44{
45 __ei_tx_timeout(dev);
46}
47EXPORT_SYMBOL(eip_tx_timeout);
48
49irqreturn_t eip_interrupt(int irq, void *dev_id)
50{
51 return __ei_interrupt(irq, dev_id);
52}
53EXPORT_SYMBOL(eip_interrupt);
54
55#ifdef CONFIG_NET_POLL_CONTROLLER
56void eip_poll(struct net_device *dev)
57{
58 __ei_poll(dev);
59}
60EXPORT_SYMBOL(eip_poll);
61#endif
62
63const 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,
71 .ndo_set_mac_address = eth_mac_addr,
72 .ndo_change_mtu = eth_change_mtu,
73#ifdef CONFIG_NET_POLL_CONTROLLER
74 .ndo_poll_controller = eip_poll,
75#endif
76};
77EXPORT_SYMBOL(eip_netdev_ops);
78
79struct net_device *__alloc_eip_netdev(int size)
80{
81 struct net_device *dev = ____alloc_ei_netdev(size);
82#ifdef CONFIG_COMPAT_NET_DEV_OPS
83 if (dev) {
84 dev->hard_start_xmit = eip_start_xmit;
85 dev->get_stats = eip_get_stats;
86 dev->set_multicast_list = eip_set_multicast_list;
87 dev->tx_timeout = eip_tx_timeout;
88 }
89#endif
90 return dev;
91}
92EXPORT_SYMBOL(__alloc_eip_netdev);
93
94void NS8390p_init(struct net_device *dev, int startp)
95{
96 __NS8390_init(dev, startp);
97}
98EXPORT_SYMBOL(NS8390p_init);
99
100#if defined(MODULE)
101
102int init_module(void)
103{
104 return 0;
105}
106
107void cleanup_module(void)
108{
109}
110
111#endif /* MODULE */
112MODULE_LICENSE("GPL");