aboutsummaryrefslogtreecommitdiffstats
path: root/rapidio-convert-bus-code-to-use-dev_groups.patch
diff options
Diffstat (limited to 'rapidio-convert-bus-code-to-use-dev_groups.patch')
-rw-r--r--rapidio-convert-bus-code-to-use-dev_groups.patch120
1 files changed, 120 insertions, 0 deletions
diff --git a/rapidio-convert-bus-code-to-use-dev_groups.patch b/rapidio-convert-bus-code-to-use-dev_groups.patch
new file mode 100644
index 00000000000000..9947c9df405f0b
--- /dev/null
+++ b/rapidio-convert-bus-code-to-use-dev_groups.patch
@@ -0,0 +1,120 @@
+From foo@baz Sun Oct 6 13:52:56 PDT 2013
+Date: Sun, 06 Oct 2013 13:52:56 -0700
+To: Greg KH <gregkh@linuxfoundation.org>
+From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+Subject: rapidio: convert bus code to use dev_groups
+
+The dev_attrs field of struct bus_type is going away soon, dev_groups
+should be used instead. This converts the rapidio bus code to use the
+correct field.
+
+Cc: Matt Porter <mporter@kernel.crashing.org>
+Cc: Alexandre Bounine <alexandre.bounine@idt.com>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ drivers/rapidio/rio-driver.c | 2 +-
+ drivers/rapidio/rio-sysfs.c | 38 ++++++++++++++++++++++++--------------
+ drivers/rapidio/rio.h | 2 +-
+ 3 files changed, 26 insertions(+), 16 deletions(-)
+
+--- a/drivers/rapidio/rio-driver.c
++++ b/drivers/rapidio/rio-driver.c
+@@ -223,7 +223,7 @@ struct device rio_bus = {
+ struct bus_type rio_bus_type = {
+ .name = "rapidio",
+ .match = rio_match_bus,
+- .dev_attrs = rio_dev_attrs,
++ .dev_groups = rio_dev_groups,
+ .bus_groups = rio_bus_groups,
+ .probe = rio_device_probe,
+ .remove = rio_device_remove,
+--- a/drivers/rapidio/rio-sysfs.c
++++ b/drivers/rapidio/rio-sysfs.c
+@@ -27,6 +27,7 @@ field##_show(struct device *dev, struct
+ \
+ return sprintf(buf, format_string, rdev->field); \
+ } \
++static DEVICE_ATTR_RO(field);
+
+ rio_config_attr(did, "0x%04x\n");
+ rio_config_attr(vid, "0x%04x\n");
+@@ -54,6 +55,7 @@ static ssize_t routes_show(struct device
+
+ return (str - buf);
+ }
++static DEVICE_ATTR_RO(routes);
+
+ static ssize_t lprev_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+@@ -63,6 +65,7 @@ static ssize_t lprev_show(struct device
+ return sprintf(buf, "%s\n",
+ (rdev->prev) ? rio_name(rdev->prev) : "root");
+ }
++static DEVICE_ATTR_RO(lprev);
+
+ static ssize_t lnext_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+@@ -83,6 +86,7 @@ static ssize_t lnext_show(struct device
+
+ return str - buf;
+ }
++static DEVICE_ATTR_RO(lnext);
+
+ static ssize_t modalias_show(struct device *dev,
+ struct device_attribute *attr, char *buf)
+@@ -92,23 +96,29 @@ static ssize_t modalias_show(struct devi
+ return sprintf(buf, "rapidio:v%04Xd%04Xav%04Xad%04X\n",
+ rdev->vid, rdev->did, rdev->asm_vid, rdev->asm_did);
+ }
++static DEVICE_ATTR_RO(modalias);
+
+-struct device_attribute rio_dev_attrs[] = {
+- __ATTR_RO(did),
+- __ATTR_RO(vid),
+- __ATTR_RO(device_rev),
+- __ATTR_RO(asm_did),
+- __ATTR_RO(asm_vid),
+- __ATTR_RO(asm_rev),
+- __ATTR_RO(lprev),
+- __ATTR_RO(destid),
+- __ATTR_RO(modalias),
+- __ATTR_NULL,
++static struct attribute *rio_dev_attrs[] = {
++ &dev_attr_did.attr,
++ &dev_attr_vid.attr,
++ &dev_attr_device_rev.attr,
++ &dev_attr_asm_did.attr,
++ &dev_attr_asm_vid.attr,
++ &dev_attr_asm_rev.attr,
++ &dev_attr_lprev.attr,
++ &dev_attr_destid.attr,
++ &dev_attr_modalias.attr,
++ NULL,
+ };
+
+-static DEVICE_ATTR(routes, S_IRUGO, routes_show, NULL);
+-static DEVICE_ATTR(lnext, S_IRUGO, lnext_show, NULL);
+-static DEVICE_ATTR(hopcount, S_IRUGO, hopcount_show, NULL);
++static const struct attribute_group rio_dev_group = {
++ .attrs = rio_dev_attrs,
++};
++
++const struct attribute_group *rio_dev_groups[] = {
++ &rio_dev_group,
++ NULL,
++};
+
+ static ssize_t
+ rio_read_config(struct file *filp, struct kobject *kobj,
+--- a/drivers/rapidio/rio.h
++++ b/drivers/rapidio/rio.h
+@@ -48,7 +48,7 @@ extern struct rio_mport *rio_find_mport(
+ extern int rio_mport_scan(int mport_id);
+
+ /* Structures internal to the RIO core code */
+-extern struct device_attribute rio_dev_attrs[];
++extern const struct attribute_group *rio_dev_groups[];
+ extern const struct attribute_group *rio_bus_groups[];
+
+ #define RIO_GET_DID(size, x) (size ? (x & 0xffff) : ((x & 0x00ff0000) >> 16))