[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <1161725441.8112.11.camel@rh234.mv.fabric7.com>
Date: Tue, 24 Oct 2006 14:30:41 -0700
From: Sriram Chidambaram <schidambaram@...ric7.com>
To: Jeff Garzik <jeff@...zik.org>
Cc: KERNEL Linux <linux-kernel@...r.kernel.org>,
NETDEV Linux <netdev@...r.kernel.org>,
Driver Support <driver-support@...ric7.com>
Subject: [PATCH 1/1] Fabric7 VIOC: Ethtool
Ethtool patch for Fabric7 VIOC Device Driver.
Signed-off-by: Fabric7 Driver-Support <driver-support@...ric7.com>
---
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 linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists