diff options
author | John W. Linville <linville@tuxdriver.com> | 2009-12-23 09:29:47 -0500 |
---|---|---|
committer | Jeff Garzik <jgarzik@redhat.com> | 2009-12-23 17:10:56 -0500 |
commit | c1af44178cfaeb865f6ed1f6d00439edaa7b00d1 (patch) | |
tree | 3faf569fbc130a42ed544301deb8c1426c09f073 | |
parent | ef381865d941b62a40432b9dfc1e74b4ee54cb91 (diff) | |
download | ethtool-c1af44178cfaeb865f6ed1f6d00439edaa7b00d1.tar.gz |
ethtool: add support for at76c50x-usb driver
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Jeff Garzik <jgarzik@redhat.com>
-rw-r--r-- | Makefile.am | 2 | ||||
-rw-r--r-- | at76c50x-usb.c | 32 | ||||
-rw-r--r-- | ethtool-util.h | 2 | ||||
-rw-r--r-- | ethtool.c | 1 |
4 files changed, 36 insertions, 1 deletions
diff --git a/Makefile.am b/Makefile.am index eac65fe..a384949 100644 --- a/Makefile.am +++ b/Makefile.am @@ -8,7 +8,7 @@ ethtool_SOURCES = ethtool.c ethtool-copy.h ethtool-util.h \ amd8111e.c de2104x.c e100.c e1000.c igb.c \ fec_8xx.c ibm_emac.c ixgb.c ixgbe.c natsemi.c \ pcnet32.c realtek.c tg3.c marvell.c vioc.c \ - smsc911x.c + smsc911x.c at76c50x-usb.c dist-hook: cp $(top_srcdir)/ethtool.spec $(distdir) diff --git a/at76c50x-usb.c b/at76c50x-usb.c new file mode 100644 index 0000000..4c2a1a8 --- /dev/null +++ b/at76c50x-usb.c @@ -0,0 +1,32 @@ +#include <stdio.h> +#include "ethtool-util.h" + +static char *hw_versions[] = { + "503_ISL3861", + "503_ISL3863", + " 503", + " 503_ACC", + " 505", + " 505_2958", + " 505A", + " 505AMX", +}; + +int +at76c50x_usb_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs) +{ + u8 version = (u8)(regs->version >> 24); + u8 rev_id = (u8)(regs->version); + char *ver_string; + + if (version != 0) + return -1; + + ver_string = hw_versions[rev_id]; + fprintf(stdout, + "Hardware Version %s\n", + ver_string); + + return 0; +} + diff --git a/ethtool-util.h b/ethtool-util.h index 8ae7e47..bc66df7 100644 --- a/ethtool-util.h +++ b/ethtool-util.h @@ -67,4 +67,6 @@ int vioc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs); /* SMSC LAN911x/LAN921x embedded ethernet controller */ int smsc911x_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs); +int at76c50x_usb_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs); + #endif @@ -1255,6 +1255,7 @@ static struct { { "sky2", sky2_dump_regs }, { "vioc", vioc_dump_regs }, { "smsc911x", smsc911x_dump_regs }, + { "at76c50x-usb", at76c50x_usb_dump_regs }, }; static int dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs) |