diff --git a/src/drivers/net/smsc75xx.c b/src/drivers/net/smsc75xx.c index 0da255c2..861669ed 100644 --- a/src/drivers/net/smsc75xx.c +++ b/src/drivers/net/smsc75xx.c @@ -60,7 +60,7 @@ static struct profiler smsc75xx_out_profiler __profiler = * @v smscusb SMSC USB device * @ret rc Return status code */ -static int smsc75xx_dump_statistics ( struct smscusb_device *smscusb ) { +int smsc75xx_dump_statistics ( struct smscusb_device *smscusb ) { struct smsc75xx_statistics stats; int rc; @@ -230,7 +230,7 @@ static void smsc75xx_in_complete ( struct usb_endpoint *ep, } /** Bulk IN endpoint operations */ -static struct usb_endpoint_driver_operations smsc75xx_in_operations = { +struct usb_endpoint_driver_operations smsc75xx_in_operations = { .complete = smsc75xx_in_complete, }; @@ -386,7 +386,8 @@ static void smsc75xx_close ( struct net_device *netdev ) { usbnet_close ( &smscusb->usbnet ); /* Dump statistics (for debugging) */ - smsc75xx_dump_statistics ( smscusb ); + if ( DBG_LOG ) + smsc75xx_dump_statistics ( smscusb ); /* Reset device */ smsc75xx_reset ( smscusb ); @@ -399,8 +400,7 @@ static void smsc75xx_close ( struct net_device *netdev ) { * @v iobuf I/O buffer * @ret rc Return status code */ -static int smsc75xx_transmit ( struct net_device *netdev, - struct io_buffer *iobuf ) { +int smsc75xx_transmit ( struct net_device *netdev, struct io_buffer *iobuf ) { struct smscusb_device *smscusb = netdev->priv; int rc; @@ -416,7 +416,7 @@ static int smsc75xx_transmit ( struct net_device *netdev, * * @v netdev Network device */ -static void smsc75xx_poll ( struct net_device *netdev ) { +void smsc75xx_poll ( struct net_device *netdev ) { struct smscusb_device *smscusb = netdev->priv; uint32_t int_sts; int rc; diff --git a/src/drivers/net/smsc75xx.h b/src/drivers/net/smsc75xx.h index f8bcefb7..72339df0 100644 --- a/src/drivers/net/smsc75xx.h +++ b/src/drivers/net/smsc75xx.h @@ -213,4 +213,11 @@ struct smsc75xx_statistics { ( sizeof ( struct smsc75xx_rx_header ) + \ ETH_FRAME_LEN + 4 /* possible VLAN header */ ) +extern struct usb_endpoint_driver_operations smsc75xx_in_operations; + +extern int smsc75xx_dump_statistics ( struct smscusb_device *smscusb ); +extern int smsc75xx_transmit ( struct net_device *netdev, + struct io_buffer *iobuf ); +extern void smsc75xx_poll ( struct net_device *netdev ); + #endif /* _SMSC75XX_H */