TODO:
	- move firmware loading to request_firmware()
	- remove direct memory access of structures
	- any remaining sparse and checkpatch.pl warnings

	- use net_device_ops
	- use dev->stats rather than adapter->stats
	- don't cast netdev_priv it is already void
	- GET RID OF MACROS
	- work on all architectures
	   - without CONFIG_X86_64 confusion
	   - do 64 bit correctly
	   - don't depend on order of union
	- get rid of ASSERT(), use BUG() instead but only where necessary
	  looks like most aren't really useful
	- no new SIOCDEVPRIVATE ioctl allowed
	- don't use module_param for configuring interrupt mitigation
	  use ethtool instead
	- reorder code to elminate use of forward declarations
	- don't keep private linked list of drivers.
	- use PCI_DEVICE()
	- do ethtool correctly using ethtool_ops
	- NAPI?
	- wasted overhead of extra stats
	- state variables for things that are
	  easily available and shouldn't be kept in card structure, cardnum, ...
	  slotnumber, events, ...
	- volatile == bad design => bad code
	- locking too fine grained, not designed just throw more locks
	  at problem

Please send patches to:
        Greg Kroah-Hartman <gregkh@linuxfoundation.org>
and Cc: Lior Dotan <liodot@gmail.com> and Christopher Harrer
<charrer@alacritech.com> as well as they are also able to test out any
changes.