aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/rapidio
diff options
context:
space:
mode:
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-07 02:55:47 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2013-10-16 21:36:03 -0400
commit6d39c80b19073e2889dabab939fe1a09584138ed (patch)
treeb44a256173c94ccb82fb9b5e3650e9067a535b18 /drivers/rapidio
parentb9b2f36761501c7bda070cacc53d24235f2529de (diff)
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>
Diffstat (limited to 'drivers/rapidio')
-rw-r--r--drivers/rapidio/rio-driver.c2
-rw-r--r--drivers/rapidio/rio-sysfs.c38
-rw-r--r--drivers/rapidio/rio.h2
3 files changed, 26 insertions, 16 deletions
diff --git a/drivers/rapidio/rio-driver.c b/drivers/rapidio/rio-driver.c
index 2be2d24dbecb..c9ae692d3451 100644
--- a/drivers/rapidio/rio-driver.c
+++ b/drivers/rapidio/rio-driver.c
@@ -223,7 +223,7 @@ struct device rio_bus = {
223struct bus_type rio_bus_type = { 223struct bus_type rio_bus_type = {
224 .name = "rapidio", 224 .name = "rapidio",
225 .match = rio_match_bus, 225 .match = rio_match_bus,
226 .dev_attrs = rio_dev_attrs, 226 .dev_groups = rio_dev_groups,
227 .bus_groups = rio_bus_groups, 227 .bus_groups = rio_bus_groups,
228 .probe = rio_device_probe, 228 .probe = rio_device_probe,
229 .remove = rio_device_remove, 229 .remove = rio_device_remove,
diff --git a/drivers/rapidio/rio-sysfs.c b/drivers/rapidio/rio-sysfs.c
index 795a4776cb0c..e0221c6d0cc2 100644
--- a/drivers/rapidio/rio-sysfs.c
+++ b/drivers/rapidio/rio-sysfs.c
@@ -27,6 +27,7 @@ field##_show(struct device *dev, struct device_attribute *attr, char *buf) \
27 \ 27 \
28 return sprintf(buf, format_string, rdev->field); \ 28 return sprintf(buf, format_string, rdev->field); \
29} \ 29} \
30static DEVICE_ATTR_RO(field);
30 31
31rio_config_attr(did, "0x%04x\n"); 32rio_config_attr(did, "0x%04x\n");
32rio_config_attr(vid, "0x%04x\n"); 33rio_config_attr(vid, "0x%04x\n");
@@ -54,6 +55,7 @@ static ssize_t routes_show(struct device *dev, struct device_attribute *attr, ch
54 55
55 return (str - buf); 56 return (str - buf);
56} 57}
58static DEVICE_ATTR_RO(routes);
57 59
58static ssize_t lprev_show(struct device *dev, 60static ssize_t lprev_show(struct device *dev,
59 struct device_attribute *attr, char *buf) 61 struct device_attribute *attr, char *buf)
@@ -63,6 +65,7 @@ static ssize_t lprev_show(struct device *dev,
63 return sprintf(buf, "%s\n", 65 return sprintf(buf, "%s\n",
64 (rdev->prev) ? rio_name(rdev->prev) : "root"); 66 (rdev->prev) ? rio_name(rdev->prev) : "root");
65} 67}
68static DEVICE_ATTR_RO(lprev);
66 69
67static ssize_t lnext_show(struct device *dev, 70static ssize_t lnext_show(struct device *dev,
68 struct device_attribute *attr, char *buf) 71 struct device_attribute *attr, char *buf)
@@ -83,6 +86,7 @@ static ssize_t lnext_show(struct device *dev,
83 86
84 return str - buf; 87 return str - buf;
85} 88}
89static DEVICE_ATTR_RO(lnext);
86 90
87static ssize_t modalias_show(struct device *dev, 91static ssize_t modalias_show(struct device *dev,
88 struct device_attribute *attr, char *buf) 92 struct device_attribute *attr, char *buf)
@@ -92,23 +96,29 @@ static ssize_t modalias_show(struct device *dev,
92 return sprintf(buf, "rapidio:v%04Xd%04Xav%04Xad%04X\n", 96 return sprintf(buf, "rapidio:v%04Xd%04Xav%04Xad%04X\n",
93 rdev->vid, rdev->did, rdev->asm_vid, rdev->asm_did); 97 rdev->vid, rdev->did, rdev->asm_vid, rdev->asm_did);
94} 98}
99static DEVICE_ATTR_RO(modalias);
100
101static struct attribute *rio_dev_attrs[] = {
102 &dev_attr_did.attr,
103 &dev_attr_vid.attr,
104 &dev_attr_device_rev.attr,
105 &dev_attr_asm_did.attr,
106 &dev_attr_asm_vid.attr,
107 &dev_attr_asm_rev.attr,
108 &dev_attr_lprev.attr,
109 &dev_attr_destid.attr,
110 &dev_attr_modalias.attr,
111 NULL,
112};
95 113
96struct device_attribute rio_dev_attrs[] = { 114static const struct attribute_group rio_dev_group = {
97 __ATTR_RO(did), 115 .attrs = rio_dev_attrs,
98 __ATTR_RO(vid),
99 __ATTR_RO(device_rev),
100 __ATTR_RO(asm_did),
101 __ATTR_RO(asm_vid),
102 __ATTR_RO(asm_rev),
103 __ATTR_RO(lprev),
104 __ATTR_RO(destid),
105 __ATTR_RO(modalias),
106 __ATTR_NULL,
107}; 116};
108 117
109static DEVICE_ATTR(routes, S_IRUGO, routes_show, NULL); 118const struct attribute_group *rio_dev_groups[] = {
110static DEVICE_ATTR(lnext, S_IRUGO, lnext_show, NULL); 119 &rio_dev_group,
111static DEVICE_ATTR(hopcount, S_IRUGO, hopcount_show, NULL); 120 NULL,
121};
112 122
113static ssize_t 123static ssize_t
114rio_read_config(struct file *filp, struct kobject *kobj, 124rio_read_config(struct file *filp, struct kobject *kobj,
diff --git a/drivers/rapidio/rio.h b/drivers/rapidio/rio.h
index 57d2ad06a816..5f99d22ad0b0 100644
--- a/drivers/rapidio/rio.h
+++ b/drivers/rapidio/rio.h
@@ -48,7 +48,7 @@ extern struct rio_mport *rio_find_mport(int mport_id);
48extern int rio_mport_scan(int mport_id); 48extern int rio_mport_scan(int mport_id);
49 49
50/* Structures internal to the RIO core code */ 50/* Structures internal to the RIO core code */
51extern struct device_attribute rio_dev_attrs[]; 51extern const struct attribute_group *rio_dev_groups[];
52extern const struct attribute_group *rio_bus_groups[]; 52extern const struct attribute_group *rio_bus_groups[];
53 53
54#define RIO_GET_DID(size, x) (size ? (x & 0xffff) : ((x & 0x00ff0000) >> 16)) 54#define RIO_GET_DID(size, x) (size ? (x & 0xffff) : ((x & 0x00ff0000) >> 16))