+From 3cfa0a9d4b4cc30ec735c5c9535ff493bae24d08 Mon Sep 17 00:00:00 2001
+From: Hauke Mehrtens <hauke@hauke-m.de>
+Date: Sat, 27 Nov 2010 18:14:23 +0100
+Subject: [PATCH] ssb: Add sysfs attributes to ssb devices
+
+Make it possible to read out the attributes, till now only show on
+dmesg, through sysfs.
+
+This patch was some time in OpenWrt.
+
+Signed-off-by: Bernhard Loos <bernhardloos@googlemail.com>
+Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
+---
+ drivers/ssb/main.c | 30 ++++++++++++++++++++++++++++++
+ 1 files changed, 30 insertions(+), 0 deletions(-)
+
--- a/drivers/ssb/main.c
+++ b/drivers/ssb/main.c
-@@ -383,6 +383,34 @@ static int ssb_device_uevent(struct devi
+@@ -383,6 +383,35 @@ static int ssb_device_uevent(struct devi
ssb_dev->id.revision);
}
-+#define ssb_config_attr(attrib, field, format_string) \
-+static ssize_t \
++#define ssb_config_attr(attrib, field, format_string) \
++static ssize_t \
+attrib##_show(struct device *dev, struct device_attribute *attr, char *buf) \
-+{ \
-+ return sprintf(buf, format_string, dev_to_ssb_dev(dev)->field); \
++{ \
++ return sprintf(buf, format_string, dev_to_ssb_dev(dev)->field); \
+}
+
+ssb_config_attr(core_num, core_index, "%u\n")
+static ssize_t
+name_show(struct device *dev, struct device_attribute *attr, char *buf)
+{
-+ return sprintf(buf, "%s\n", ssb_core_name(dev_to_ssb_dev(dev)->id.coreid));
++ return sprintf(buf, "%s\n",
++ ssb_core_name(dev_to_ssb_dev(dev)->id.coreid));
+}
+
+static struct device_attribute ssb_device_attrs[] = {
static struct bus_type ssb_bustype = {
.name = "ssb",
.match = ssb_bus_match,
-@@ -392,6 +420,7 @@ static struct bus_type ssb_bustype = {
+@@ -392,6 +421,7 @@ static struct bus_type ssb_bustype = {
.suspend = ssb_device_suspend,
.resume = ssb_device_resume,
.uevent = ssb_device_uevent,