1TODO: 2 - move firmware loading to request_firmware() 3 - remove direct memory access of structures 4 - any remaining sparse and checkpatch.pl warnings 5 6 - use net_device_ops 7 - use dev->stats rather than adapter->stats 8 - don't cast netdev_priv it is already void 9 - GET RID OF MACROS 10 - work on all architectures 11 - without CONFIG_X86_64 confusion 12 - do 64 bit correctly 13 - don't depend on order of union 14 - get rid of ASSERT(), use BUG() instead but only where necessary 15 looks like most aren't really useful 16 - no new SIOCDEVPRIVATE ioctl allowed 17 - don't use module_param for configuring interrupt mitigation 18 use ethtool instead 19 - reorder code to elminate use of forward declarations 20 - don't keep private linked list of drivers. 21 - use PCI_DEVICE() 22 - do ethtool correctly using ethtool_ops 23 - NAPI? 24 - wasted overhead of extra stats 25 - state variables for things that are 26 easily available and shouldn't be kept in card structure, cardnum, ... 27 slotnumber, events, ... 28 - get rid of slic_spinlock wrapper 29 - volatile == bad design => bad code 30 - locking too fine grained, not designed just throw more locks 31 at problem 32 33Please send patches to: 34 Greg Kroah-Hartman <gregkh@linuxfoundation.org> 35and Cc: Lior Dotan <liodot@gmail.com> and Christopher Harrer 36<charrer@alacritech.com> as well as they are also able to test out any 37changes. 38