2006-10-13 18:05:21

by Misha Tomushev

[permalink] [raw]
Subject: [PATCH] VIOC: Ethtool

The following is the ethtool patch for VIOC Device Driver.

Signed-off-by: Misha Tomushev <[email protected]>

diff -uprN ethtool-5/Makefile.am ethtool-5.vioc/Makefile.am
--- ethtool-5/Makefile.am 2006-08-23 23:53:06.000000000 -0700
+++ ethtool-5.vioc/Makefile.am 2006-10-12 18:26:22.000000000 -0700
@@ -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 natsemi.c pcnet32.c \
- realtek.c tg3.c skge.c
+ realtek.c tg3.c skge.c vioc.c

dist-hook:
cp $(top_srcdir)/ethtool.spec $(distdir)
diff -uprN ethtool-5/ethtool-util.h ethtool-5.vioc/ethtool-util.h
--- ethtool-5/ethtool-util.h 2006-08-23 23:53:06.000000000 -0700
+++ ethtool-5.vioc/ethtool-util.h 2006-10-12 18:27:23.000000000 -0700
@@ -48,4 +48,7 @@ int tg3_dump_regs(struct ethtool_drvinfo
/* SysKonnect Gigabit (Genesis and Yukon) */
int skge_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);

+/* VIOC */
+int vioc_dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs);
+
#endif
diff -uprN ethtool-5/ethtool.c ethtool-5.vioc/ethtool.c
--- ethtool-5/ethtool.c 2006-08-23 23:53:16.000000000 -0700
+++ ethtool-5.vioc/ethtool.c 2006-10-12 18:28:06.000000000 -0700
@@ -945,6 +945,7 @@ static struct {
{ "ibm_emac", ibm_emac_dump_regs },
{ "tg3", tg3_dump_regs },
{ "skge", skge_dump_regs },
+ { "vioc", vioc_dump_regs },
};

static int dump_regs(struct ethtool_drvinfo *info, struct ethtool_regs *regs)
diff -uprN ethtool-5/vioc.c ethtool-5.vioc/vioc.c
--- ethtool-5/vioc.c 1969-12-31 16:00:00.000000000 -0800
+++ ethtool-5.vioc/vioc.c 2006-10-12 18:41:58.000000000 -0700
@@ -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;
+}


--
Misha Tomushev
[email protected]



2006-10-21 19:25:27

by Jeff Garzik

[permalink] [raw]
Subject: Re: [PATCH] VIOC: Ethtool

Misha Tomushev wrote:
> The following is the ethtool patch for VIOC Device Driver.
>
> Signed-off-by: Misha Tomushev <[email protected]>

ACK but does not apply to ethtool.git:


Applying 'add VIOC support'

Adds trailing whitespace.
.dotest/patch:50:#define VIOC_REGS_LINE_SIZE sizeof(struct regs_line)
error: patch failed: Makefile.am:7
error: Makefile.am: patch does not apply
error: patch failed: ethtool-util.h:48
error: ethtool-util.h: patch does not apply
error: patch failed: ethtool.c:945
error: ethtool.c: patch does not apply