aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/8390.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/net/8390.h')
-rw-r--r--drivers/net/8390.h19
1 files changed, 16 insertions, 3 deletions
diff --git a/drivers/net/8390.h b/drivers/net/8390.h
index 04ddec0f4c61..8e209f5e7c11 100644
--- a/drivers/net/8390.h
+++ b/drivers/net/8390.h
@@ -30,8 +30,10 @@ extern int ei_debug;
30 30
31#ifdef CONFIG_NET_POLL_CONTROLLER 31#ifdef CONFIG_NET_POLL_CONTROLLER
32extern void ei_poll(struct net_device *dev); 32extern void ei_poll(struct net_device *dev);
33extern void eip_poll(struct net_device *dev);
33#endif 34#endif
34 35
36/* Without I/O delay - non ISA or later chips */
35extern void NS8390_init(struct net_device *dev, int startp); 37extern void NS8390_init(struct net_device *dev, int startp);
36extern int ei_open(struct net_device *dev); 38extern int ei_open(struct net_device *dev);
37extern int ei_close(struct net_device *dev); 39extern int ei_close(struct net_device *dev);
@@ -42,6 +44,17 @@ static inline struct net_device *alloc_ei_netdev(void)
42 return __alloc_ei_netdev(0); 44 return __alloc_ei_netdev(0);
43} 45}
44 46
47/* With I/O delay form */
48extern void NS8390p_init(struct net_device *dev, int startp);
49extern int eip_open(struct net_device *dev);
50extern int eip_close(struct net_device *dev);
51extern irqreturn_t eip_interrupt(int irq, void *dev_id);
52extern struct net_device *__alloc_eip_netdev(int size);
53static inline struct net_device *alloc_eip_netdev(void)
54{
55 return __alloc_eip_netdev(0);
56}
57
45/* You have one of these per-board */ 58/* You have one of these per-board */
46struct ei_device { 59struct ei_device {
47 const char *name; 60 const char *name;
@@ -69,7 +82,6 @@ struct ei_device {
69 unsigned char reg0; /* Register '0' in a WD8013 */ 82 unsigned char reg0; /* Register '0' in a WD8013 */
70 unsigned char reg5; /* Register '5' in a WD8013 */ 83 unsigned char reg5; /* Register '5' in a WD8013 */
71 unsigned char saved_irq; /* Original dev->irq value. */ 84 unsigned char saved_irq; /* Original dev->irq value. */
72 struct net_device_stats stat; /* The new statistics table. */
73 u32 *reg_offset; /* Register mapping table */ 85 u32 *reg_offset; /* Register mapping table */
74 spinlock_t page_lock; /* Page register locks */ 86 spinlock_t page_lock; /* Page register locks */
75 unsigned long priv; /* Private field to store bus IDs etc. */ 87 unsigned long priv; /* Private field to store bus IDs etc. */
@@ -116,13 +128,14 @@ struct ei_device {
116/* 128/*
117 * Only generate indirect loads given a machine that needs them. 129 * Only generate indirect loads given a machine that needs them.
118 * - removed AMIGA_PCMCIA from this list, handled as ISA io now 130 * - removed AMIGA_PCMCIA from this list, handled as ISA io now
131 * - the _p for generates no delay by default 8390p.c overrides this.
119 */ 132 */
120 133
121#ifndef ei_inb 134#ifndef ei_inb
122#define ei_inb(_p) inb(_p) 135#define ei_inb(_p) inb(_p)
123#define ei_outb(_v,_p) outb(_v,_p) 136#define ei_outb(_v,_p) outb(_v,_p)
124#define ei_inb_p(_p) inb_p(_p) 137#define ei_inb_p(_p) inb(_p)
125#define ei_outb_p(_v,_p) outb_p(_v,_p) 138#define ei_outb_p(_v,_p) outb(_v,_p)
126#endif 139#endif
127 140
128#ifndef EI_SHIFT 141#ifndef EI_SHIFT