This is a driver for the ET1310 network device.

Based on the driver found at https://sourceforge.net/projects/et131x/

Cleaned up immensely by Olaf Hartman and Christoph Hellwig <hch@infradead.org>

Note, the powermanagement options were removed from the vendor provided
driver as they did not build properly at the time.

TODO:
	- Look at reducing the number of spinlocks
	- Simplify code in nic_rx_pkts(), when determining multicast_pkts_rcvd
	- Implement NAPI support
	- In et131x_tx(), don't return NETDEV_TX_BUSY, just drop the packet with kfree_skb().
	- Reduce the number of split lines by careful consideration of variable names etc.
	- Do this in et131x.c:
                struct fbr_lookup *fbr;
                fbr = rx_local->fbr[id];
	  Then replace all the instances of "rx_local->fbr[id]" with fbr.

Please send patches to:
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>
	Mark Einon <mark.einon@gmail.com>

