20070214: Version 2.0.7
=======================
1.  Fix bad ioread address.
2.  Read MAC address from register if needed.
3.  Remove unused define in atl1_main.c.

20070203: Version 2.0.6.1
=========================
1.  Clean up extern, global scope declarations.
2.  Remove trailing whitespace and spaces preceding tabs.

20070131:
=========
1.  Use pci_register_device instead of pci_module_init.
2.  Add ethtool set ring params functionality.

20070127: Version 2.0.6
=======================
Recommended by Francois Romieu.
1.  Remove MII defines already provided by mii.h.

Recommended by Randy Dunlap.
2.  Don't use butchered version of docbook comments.
3.  Remove braces from single-statement conditionals.
4.  Change "link adapter" to just "adapter" in printk.
5.  Use sizeof() instead of raw numbers where appropriate.
6.  Move externs to header file.
7.  Change pointer decls from "* ptr" to "*ptr".
8.  Use ETH_ALEN.
9.  Change MSI from module param to unconditionally enabled.
	(Thanks to Luca Tettamanti for implementing.)

Recommended by Arjan van de Ven.
10. Remove unnecessary call to get PCI_COMMAND.
11. Remove unneeded pci_using_64 test.
12. Remove unnecessary NULL test for protecting kfree().
13. Make lock irq safe in atl1_clear_phy_int().
14. Add pci posting flush in atl1_irq_disable().

Recommended by Andrew Morton.
15. Correctly use CONFIG_PM.
16. Add #include dma-mapping.h


20070121: Version 2.0.5
=======================
Submit to LKML.
Accepted into netdev and -mm tree.

1.  Disable ethtool set ring params; changing ring params breaks driver.

Recommended by Christoph Hellwig.
2.  Change csum_param and tso_param from bitfields to shift/mask ints.
3.  Use pci_io{un}map() and iowrite*/ioread*.

Recommended by Jeff Garzik.
4.  Use generic ethtool functions for tx csum and tso.
5.  Use library version of ether_crc_le().
6.  Remove unneeded bit pokes already handled by kernel pci functions.
7.  Use pci posting methods.
8.  Use random_ether_addr() instead of fixed addr.


20070115: Version 2.0.4
=======================
Recommended by Christoph Hellwig.
1.  Remove meaningless copyright info from Kconfig and Makefile.
2.  Remove superfluous file description comment from all files.
3.  Fix atl1/Makefile.
4.  Include linux/types.h. 
5.  Include only needed header files.
6.  Remove unnecessary ifdefs.
7.  Remove BAR_0 define.
8.  Kill usec_delay and msec_delay wrappers.
9.  Use __attribute__ ((packed)) only where needed.
10. Move atl1_hw struct to atl1.h and typecast the back member.
11. Remove unused ID struct members already provided by pci_dev.
12. Remove unneded includes.
13. Shrink from 5 locks to 2 locks.
14. Clean up conditionals.
15. Remove unnecessary inline declarations.
16. Remove ethtool ioctl path.
17. Clean up some more conditionals.
18. Use ARRAY_SIZE() instead of homegrown version of same.
19. Remove pci_{write|read}_config wrapper.
20. Use is_valid_ether_addr() instead of homegrown version of same.


20070110: Version 2.0.3
=======================
Names in parentheses are the individuals who recommended the indicated change.
1.  Use swab16, swab32 in place of homemade macros. (J. Engelhardt)
2.  Change at_ to atl1_, and AT_ to ATL1_ everywhere. (A. Cox)
3.  Replace ATL1_{WRITE,READ}* macros with inline functions. (J. Engelhardt)
4.  Relocate atl1_osdep.h contents to atl1.h.
5.  Remove #ifdef NETIF_F_HW_VLAN_TX. (A. Bergmann)
6.  Remove all other useless ifdefs.
7.  Left-align all goto labels. (A. Bergmann)
8.  Change multiple-label-single-goto to single-label. (A. Bergmann)
9.  Change if (NULL != buffer_info->skb) to if (buffer_info->skb),
	and others like it. (A. Bergmann)
10. Change multiple returns to multiple gotos with single return
	in atl1_setup_ring_resources() (A. Bergmann)
11. Change kmalloc/memset to kzalloc/kcalloc as appropriate. (A. Bergmann)
12. Remove AT_DESC_{UN}USED macros. (J. Engelhardt, A. Cox)
13. Remove unnecessary hw/pdev assignments. (A. Bergmann)
14. Remove unnecessary {} from single statement conditionals. (J. Engelhardt)
15. Fix if (0 == (status = adapter->cmb.cmb->int_stats)). (J. Engelhardt)
16. Fix ethtool get_stats and get_rx_csum.
17. Fix skb->len test; fixed unsafe subtraction in atl1_xmit_frame. (A. Cox)
18. Turn off TSO by default; can be turned on with ethtool.
19. Relocate extern function declarations to header files. (J. Engelhardt)
20. Remove useless casts. (J. Engelhardt)
21. Prepend atl1_ to appropriate function names not containing it.
22. Change adapter assignment to use netdev_priv in atl1_intr(). 
	(J. Engelhardt)
23. Change irq_disable/restore to spinlocks in vlan code. (A. Cox)
24. Add MSI support provided by Luca Tettamanti.
25. REMOVED FOR 2.6.19: Use new 2.6.20 workqueue method.
26. Change private mii ioctl to generic_mii_ioctl.

20061119: Version 2.0.2
=======================
Miscellaneous cleanup.
Submit to LKML.


20061111: Version 2.0.1
=======================
Rebase to kernel 2.6.19-rc5.


20061110: Version 2.0.0
=======================
Split (back) into multiple source files; too hard to keep track of things
	otherwise.

Recommended by Stephen Hemminger:
1.  Use static const char where appropriate.
2.  Use PCI_DEVICE macro instead of homegrown version of same.
3.  Remove unnessary wrapper around moduleparam.
4.  Use kernel integer types (u32 etc.).
5.  Reorder code to eliminate need for forward declarations of functions.
6.  Remove reboot notifier.
7.  Use lindent.
8.  Remove unnecessary module options; use ethool instead.
9.  Change C++ style comments to C style.
10. Use ethtool_ops instead of private ethtool ioctl.
11. Remove pci_ids.h entry for device; vendor okay.

Recommended by Francois Romieu:
12. Add __iomem annotations.
13. Get rid of mixed case.
14. Get rid of typedefs.
15. Use DMA_{32|64}BIT_MASK.
16. Use IRQF_SHARED and friends.


20060927: Version 0.2.0
=======================
Initial version submitted to LKML.  This version is pretty much the same
as Attansic's 0.1.40.6, just prettied up a bit and combined into a single
C and a single header file.
