2008-07-04 10:43:12 +04:00
/* 8390 core for ISA devices needing bus delays */
static const char version [ ] =
" 8390p.c:v1.10cvs 9/23/94 Donald Becker (becker@cesdis.gsfc.nasa.gov) \n " ;
# define ei_inb(_p) inb(_p)
2008-08-02 22:55:12 +04:00
# define ei_outb(_v, _p) outb(_v, _p)
2008-07-04 10:43:12 +04:00
# define ei_inb_p(_p) inb_p(_p)
2008-08-02 22:55:12 +04:00
# define ei_outb_p(_v, _p) outb_p(_v, _p)
2008-07-04 10:43:12 +04:00
# include "lib8390.c"
int eip_open ( struct net_device * dev )
{
return __ei_open ( dev ) ;
}
2008-08-02 22:55:12 +04:00
EXPORT_SYMBOL ( eip_open ) ;
2008-07-04 10:43:12 +04:00
int eip_close ( struct net_device * dev )
{
return __ei_close ( dev ) ;
}
2008-08-02 22:55:12 +04:00
EXPORT_SYMBOL ( eip_close ) ;
2008-07-04 10:43:12 +04:00
2009-08-31 23:50:58 +04:00
netdev_tx_t eip_start_xmit ( struct sk_buff * skb , struct net_device * dev )
2008-11-26 05:12:49 +03:00
{
return __ei_start_xmit ( skb , dev ) ;
}
EXPORT_SYMBOL ( eip_start_xmit ) ;
struct net_device_stats * eip_get_stats ( struct net_device * dev )
{
return __ei_get_stats ( dev ) ;
}
EXPORT_SYMBOL ( eip_get_stats ) ;
void eip_set_multicast_list ( struct net_device * dev )
{
__ei_set_multicast_list ( dev ) ;
}
EXPORT_SYMBOL ( eip_set_multicast_list ) ;
void eip_tx_timeout ( struct net_device * dev )
{
__ei_tx_timeout ( dev ) ;
}
EXPORT_SYMBOL ( eip_tx_timeout ) ;
2008-07-04 10:43:12 +04:00
irqreturn_t eip_interrupt ( int irq , void * dev_id )
{
return __ei_interrupt ( irq , dev_id ) ;
}
2008-08-02 22:55:12 +04:00
EXPORT_SYMBOL ( eip_interrupt ) ;
2008-07-04 10:43:12 +04:00
# ifdef CONFIG_NET_POLL_CONTROLLER
void eip_poll ( struct net_device * dev )
{
__ei_poll ( dev ) ;
}
2008-08-02 22:55:12 +04:00
EXPORT_SYMBOL ( eip_poll ) ;
2008-07-04 10:43:12 +04:00
# endif
2008-11-26 05:12:49 +03:00
const struct net_device_ops eip_netdev_ops = {
. ndo_open = eip_open ,
. ndo_stop = eip_close ,
. ndo_start_xmit = eip_start_xmit ,
. ndo_tx_timeout = eip_tx_timeout ,
. ndo_get_stats = eip_get_stats ,
. ndo_set_multicast_list = eip_set_multicast_list ,
. ndo_validate_addr = eth_validate_addr ,
2009-01-09 14:13:14 +03:00
. ndo_set_mac_address = eth_mac_addr ,
2008-11-26 05:12:49 +03:00
. ndo_change_mtu = eth_change_mtu ,
# ifdef CONFIG_NET_POLL_CONTROLLER
. ndo_poll_controller = eip_poll ,
# endif
} ;
EXPORT_SYMBOL ( eip_netdev_ops ) ;
2008-07-04 10:43:12 +04:00
struct net_device * __alloc_eip_netdev ( int size )
{
2008-12-16 02:14:59 +03:00
struct net_device * dev = ____alloc_ei_netdev ( size ) ;
2009-04-15 11:58:29 +04:00
if ( dev )
dev - > netdev_ops = & eip_netdev_ops ;
2008-12-16 02:14:59 +03:00
return dev ;
2008-07-04 10:43:12 +04:00
}
2008-08-02 22:55:12 +04:00
EXPORT_SYMBOL ( __alloc_eip_netdev ) ;
2008-07-04 10:43:12 +04:00
void NS8390p_init ( struct net_device * dev , int startp )
{
2008-08-02 22:55:11 +04:00
__NS8390_init ( dev , startp ) ;
2008-07-04 10:43:12 +04:00
}
EXPORT_SYMBOL ( NS8390p_init ) ;
2009-04-24 15:45:33 +04:00
static int __init NS8390p_init_module ( void )
2008-07-04 10:43:12 +04:00
{
return 0 ;
}
2009-04-24 15:45:33 +04:00
static void __exit NS8390p_cleanup_module ( void )
2008-07-04 10:43:12 +04:00
{
}
2009-04-24 15:45:33 +04:00
module_init ( NS8390p_init_module ) ;
module_exit ( NS8390p_cleanup_module ) ;
2008-07-04 10:43:12 +04:00
MODULE_LICENSE ( " GPL " ) ;