summaryrefslogtreecommitdiffstats
path: root/package/mac80211/patches/319-rt2x00-Export-all-register-stats-through-debugfs.patch
diff options
context:
space:
mode:
Diffstat (limited to 'package/mac80211/patches/319-rt2x00-Export-all-register-stats-through-debugfs.patch')
-rw-r--r--package/mac80211/patches/319-rt2x00-Export-all-register-stats-through-debugfs.patch72
1 files changed, 72 insertions, 0 deletions
diff --git a/package/mac80211/patches/319-rt2x00-Export-all-register-stats-through-debugfs.patch b/package/mac80211/patches/319-rt2x00-Export-all-register-stats-through-debugfs.patch
new file mode 100644
index 000000000..63c726f6d
--- /dev/null
+++ b/package/mac80211/patches/319-rt2x00-Export-all-register-stats-through-debugfs.patch
@@ -0,0 +1,72 @@
+From d64551dfc4c7fba6a94f7245393d173199ac9e07 Mon Sep 17 00:00:00 2001
+From: Ivo van Doorn <IvDoorn@gmail.com>
+Date: Sun, 8 Feb 2009 17:39:35 +0100
+Subject: [PATCH] rt2x00: Export all register stats through debugfs
+
+By exporting the register base, and word size to userspace
+through debugfs it will be easier to create scripts which
+parse the register information. This makes debugging and
+register dumps information easier.
+This will unfortunately not be backward compatible with
+the previous approach, but that is not important in this case
+since manually fixing the layout of the dumpfile to match the
+new style then interpreting the data without a script.
+
+Also be more consistent with using tabs to seperate different
+fields.
+
+Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
+---
+ drivers/net/wireless/rt2x00/rt2x00debug.c | 33 ++++++++++++++++++++--------
+ 1 files changed, 23 insertions(+), 10 deletions(-)
+
+--- a/drivers/net/wireless/rt2x00/rt2x00debug.c
++++ b/drivers/net/wireless/rt2x00/rt2x00debug.c
+@@ -545,9 +545,9 @@ static struct dentry *rt2x00debug_create
+ return NULL;
+
+ blob->data = data;
+- data += sprintf(data, "driver: %s\n", intf->rt2x00dev->ops->name);
+- data += sprintf(data, "version: %s\n", DRV_VERSION);
+- data += sprintf(data, "compiled: %s %s\n", __DATE__, __TIME__);
++ data += sprintf(data, "driver:\t%s\n", intf->rt2x00dev->ops->name);
++ data += sprintf(data, "version:\t%s\n", DRV_VERSION);
++ data += sprintf(data, "compiled:\t%s %s\n", __DATE__, __TIME__);
+ blob->size = strlen(blob->data);
+
+ return debugfs_create_blob(name, S_IRUSR, intf->driver_folder, blob);
+@@ -568,14 +568,27 @@ static struct dentry *rt2x00debug_create
+ return NULL;
+
+ blob->data = data;
+- data += sprintf(data, "rt chip: %04x\n", intf->rt2x00dev->chip.rt);
+- data += sprintf(data, "rf chip: %04x\n", intf->rt2x00dev->chip.rf);
+- data += sprintf(data, "revision:%08x\n", intf->rt2x00dev->chip.rev);
++ data += sprintf(data, "rt chip:\t%04x\n", intf->rt2x00dev->chip.rt);
++ data += sprintf(data, "rf chip:\t%04x\n", intf->rt2x00dev->chip.rf);
++ data += sprintf(data, "revision:\t%08x\n", intf->rt2x00dev->chip.rev);
+ data += sprintf(data, "\n");
+- data += sprintf(data, "csr length: %d\n", debug->csr.word_count);
+- data += sprintf(data, "eeprom length: %d\n", debug->eeprom.word_count);
+- data += sprintf(data, "bbp length: %d\n", debug->bbp.word_count);
+- data += sprintf(data, "rf length: %d\n", debug->rf.word_count);
++ data += sprintf(data, "register\tbase\twords\twordsize\n");
++ data += sprintf(data, "csr\t%d\t%d\t%d\n",
++ debug->csr.word_base,
++ debug->csr.word_count,
++ debug->csr.word_size);
++ data += sprintf(data, "eeprom\t%d\t%d\t%d\n",
++ debug->eeprom.word_base,
++ debug->eeprom.word_count,
++ debug->eeprom.word_size);
++ data += sprintf(data, "bbp\t%d\t%d\t%d\n",
++ debug->bbp.word_base,
++ debug->bbp.word_count,
++ debug->bbp.word_size);
++ data += sprintf(data, "rf\t%d\t%d\t%d\n",
++ debug->rf.word_base,
++ debug->rf.word_count,
++ debug->rf.word_size);
+ blob->size = strlen(blob->data);
+
+ return debugfs_create_blob(name, S_IRUSR, intf->driver_folder, blob);