]> www.pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/net/8390.h
8390: Split 8390 support into a pausing and a non pausing driver core
[linux-2.6-omap-h63xx.git] / drivers / net / 8390.h
index cf020d45aea645878c3b16a7891c536a2d21dfa7..8e209f5e7c1179e26eceef42f5abf250372db91e 100644 (file)
@@ -30,8 +30,10 @@ extern int ei_debug;
 
 #ifdef CONFIG_NET_POLL_CONTROLLER
 extern void ei_poll(struct net_device *dev);
+extern void eip_poll(struct net_device *dev);
 #endif
 
+/* Without I/O delay - non ISA or later chips */
 extern void NS8390_init(struct net_device *dev, int startp);
 extern int ei_open(struct net_device *dev);
 extern int ei_close(struct net_device *dev);
@@ -42,6 +44,17 @@ static inline struct net_device *alloc_ei_netdev(void)
        return __alloc_ei_netdev(0);
 }
 
+/* With I/O delay form */
+extern void NS8390p_init(struct net_device *dev, int startp);
+extern int eip_open(struct net_device *dev);
+extern int eip_close(struct net_device *dev);
+extern irqreturn_t eip_interrupt(int irq, void *dev_id);
+extern struct net_device *__alloc_eip_netdev(int size);
+static inline struct net_device *alloc_eip_netdev(void)
+{
+       return __alloc_eip_netdev(0);
+}
+
 /* You have one of these per-board */
 struct ei_device {
        const char *name;
@@ -115,13 +128,14 @@ struct ei_device {
 /*
  *     Only generate indirect loads given a machine that needs them.
  *      - removed AMIGA_PCMCIA from this list, handled as ISA io now
+ *     - the _p for generates no delay by default 8390p.c overrides this.
  */
 
 #ifndef ei_inb
 #define ei_inb(_p)     inb(_p)
 #define ei_outb(_v,_p) outb(_v,_p)
-#define ei_inb_p(_p)   inb_p(_p)
-#define ei_outb_p(_v,_p) outb_p(_v,_p)
+#define ei_inb_p(_p)   inb(_p)
+#define ei_outb_p(_v,_p) outb(_v,_p)
 #endif
 
 #ifndef EI_SHIFT