Ethtool patch for Fabric7 VIOC Device Driver. Signed-off-by: Fabric7 Driver-Support <[EMAIL PROTECTED]> --- Makefile.am | 2 +- ethtool-util.h | 2 ++ ethtool.c | 1 + vioc.c | 35 +++++++++++++++++++++++++++++++++++ 4 files changed, 39 insertions(+), 1 deletions(-)
diff --git a/Makefile.am b/Makefile.am index 97ad512..240979e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -7,7 +7,7 @@ sbin_PROGRAMS = ethtool ethtool_SOURCES = ethtool.c ethtool-copy.h ethtool-util.h \ amd8111e.c de2104x.c e100.c e1000.c \ fec_8xx.c ibm_emac.c ixgb.c natsemi.c \ - pcnet32.c realtek.c tg3.c marvell.c + pcnet32.c realtek.c tg3.c marvell.c vioc.c dist-hook: cp $(top_srcdir)/ethtool.spec $(distdir) diff --git a/ethtool-util.h b/ethtool-util.h index 0909a5a..dcb0c1c 100644 --- a/ethtool-util.h +++ b/ethtool-util.h @@ -54,4 +54,6 @@ int skge_dump_regs(struct ethtool_drvinf /* SysKonnect Gigabit (Yukon2) */ int sky2_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs); +/* Fabric7 VIOC */ +int vioc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs); #endif diff --git a/ethtool.c b/ethtool.c index b783248..6e68009 100644 --- a/ethtool.c +++ b/ethtool.c @@ -958,6 +958,7 @@ static struct { { "tg3", tg3_dump_regs }, { "skge", skge_dump_regs }, { "sky2", sky2_dump_regs }, + { "vioc", vioc_dump_regs }, }; static int dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs) diff --git a/vioc.c b/vioc.c new file mode 100644 index 0000000..b58dd40 --- /dev/null +++ b/vioc.c @@ -0,0 +1,35 @@ +/* Copyright 2006 Fabric7 Systems, Inc */ + +#include <stdio.h> +#include <stdlib.h> +#include "ethtool-util.h" + +struct regs_line { + u32 addr; + u32 data; +}; + +#define VIOC_REGS_LINE_SIZE sizeof(struct regs_line) + +int vioc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs) +{ + unsigned int i; + unsigned int num_regs; + struct regs_line *reg_info = (struct regs_line *) regs->data; + + printf("%s: Enter\n", __FUNCTION__); + + printf("ethtool_regs\n" + "%-20s = %04x\n" + "%-20s = %04x\n", + "cmd", regs->cmd, + "version", regs->version); + + num_regs = regs->len/VIOC_REGS_LINE_SIZE; + + for (i = 0; i < num_regs; i++){ + printf("%08x = %08x\n", reg_info[i].addr, reg_info[i].data); + } + + return 0; +} -- 1.4.3.GIT - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to [EMAIL PROTECTED] More majordomo info at http://vger.kernel.org/majordomo-info.html