asix: Rework reading from EEPROM
authorChristian Riesch <christian.riesch@omicron.at>
Thu, 19 Jul 2012 00:23:06 +0000 (00:23 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 19 Jul 2012 17:48:07 +0000 (10:48 -0700)
commitceb02c91dd76012e902799e0132ad3ad3e659394
tree4a200ab9b830cc15eebb88a2201d197c30ccf800
parent84c9f8c41df9f62a34eb680009b59cc817a76d6e
asix: Rework reading from EEPROM

The current code for reading the EEPROM via ethtool in the asix
driver has a few issues. It cannot handle odd length values
(accesses must be aligned at 16 bit boundaries) and interprets the
offset provided by ethtool as 16 bit word offset instead as byte offset.

The new code for asix_get_eeprom() introduced by this patch is
modeled after the code in
drivers/net/ethernet/atheros/atl1e/atl1e_ethtool.c
and provides read access to the entire EEPROM with arbitrary
offsets and lengths.

Signed-off-by: Christian Riesch <christian.riesch@omicron.at>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/usb/asix.h
drivers/net/usb/asix_common.c
drivers/net/usb/asix_devices.c
drivers/net/usb/ax88172a.c