diff options
Diffstat (limited to 'drivers/net/8390.h')
-rw-r--r-- | drivers/net/8390.h | 19 |
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 |
32 | extern void ei_poll(struct net_device *dev); | 32 | extern void ei_poll(struct net_device *dev); |
33 | extern void eip_poll(struct net_device *dev); | ||
33 | #endif | 34 | #endif |
34 | 35 | ||
36 | /* Without I/O delay - non ISA or later chips */ | ||
35 | extern void NS8390_init(struct net_device *dev, int startp); | 37 | extern void NS8390_init(struct net_device *dev, int startp); |
36 | extern int ei_open(struct net_device *dev); | 38 | extern int ei_open(struct net_device *dev); |
37 | extern int ei_close(struct net_device *dev); | 39 | extern 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 */ | ||
48 | extern void NS8390p_init(struct net_device *dev, int startp); | ||
49 | extern int eip_open(struct net_device *dev); | ||
50 | extern int eip_close(struct net_device *dev); | ||
51 | extern irqreturn_t eip_interrupt(int irq, void *dev_id); | ||
52 | extern struct net_device *__alloc_eip_netdev(int size); | ||
53 | static 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 */ |
46 | struct ei_device { | 59 | struct 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 |