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>
This commit is contained in:
Greg Kroah-Hartman 2013-10-06 23:55:47 -07:00
parent b9b2f36761
commit 6d39c80b19
3 changed files with 26 additions and 16 deletions

View File

@ -223,7 +223,7 @@ struct device rio_bus = {
struct bus_type rio_bus_type = { struct bus_type rio_bus_type = {
.name = "rapidio", .name = "rapidio",
.match = rio_match_bus, .match = rio_match_bus,
.dev_attrs = rio_dev_attrs, .dev_groups = rio_dev_groups,
.bus_groups = rio_bus_groups, .bus_groups = rio_bus_groups,
.probe = rio_device_probe, .probe = rio_device_probe,
.remove = rio_device_remove, .remove = rio_device_remove,

View File

@ -27,6 +27,7 @@ field##_show(struct device *dev, struct device_attribute *attr, char *buf) \
\ \
return sprintf(buf, format_string, rdev->field); \ return sprintf(buf, format_string, rdev->field); \
} \ } \
static DEVICE_ATTR_RO(field);
rio_config_attr(did, "0x%04x\n"); rio_config_attr(did, "0x%04x\n");
rio_config_attr(vid, "0x%04x\n"); rio_config_attr(vid, "0x%04x\n");
@ -54,6 +55,7 @@ static ssize_t routes_show(struct device *dev, struct device_attribute *attr, ch
return (str - buf); return (str - buf);
} }
static DEVICE_ATTR_RO(routes);
static ssize_t lprev_show(struct device *dev, static ssize_t lprev_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
@ -63,6 +65,7 @@ static ssize_t lprev_show(struct device *dev,
return sprintf(buf, "%s\n", return sprintf(buf, "%s\n",
(rdev->prev) ? rio_name(rdev->prev) : "root"); (rdev->prev) ? rio_name(rdev->prev) : "root");
} }
static DEVICE_ATTR_RO(lprev);
static ssize_t lnext_show(struct device *dev, static ssize_t lnext_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
@ -83,6 +86,7 @@ static ssize_t lnext_show(struct device *dev,
return str - buf; return str - buf;
} }
static DEVICE_ATTR_RO(lnext);
static ssize_t modalias_show(struct device *dev, static ssize_t modalias_show(struct device *dev,
struct device_attribute *attr, char *buf) struct device_attribute *attr, char *buf)
@ -92,23 +96,29 @@ static ssize_t modalias_show(struct device *dev,
return sprintf(buf, "rapidio:v%04Xd%04Xav%04Xad%04X\n", return sprintf(buf, "rapidio:v%04Xd%04Xav%04Xad%04X\n",
rdev->vid, rdev->did, rdev->asm_vid, rdev->asm_did); rdev->vid, rdev->did, rdev->asm_vid, rdev->asm_did);
} }
static DEVICE_ATTR_RO(modalias);
struct device_attribute rio_dev_attrs[] = { static struct attribute *rio_dev_attrs[] = {
__ATTR_RO(did), &dev_attr_did.attr,
__ATTR_RO(vid), &dev_attr_vid.attr,
__ATTR_RO(device_rev), &dev_attr_device_rev.attr,
__ATTR_RO(asm_did), &dev_attr_asm_did.attr,
__ATTR_RO(asm_vid), &dev_attr_asm_vid.attr,
__ATTR_RO(asm_rev), &dev_attr_asm_rev.attr,
__ATTR_RO(lprev), &dev_attr_lprev.attr,
__ATTR_RO(destid), &dev_attr_destid.attr,
__ATTR_RO(modalias), &dev_attr_modalias.attr,
__ATTR_NULL, NULL,
}; };
static DEVICE_ATTR(routes, S_IRUGO, routes_show, NULL); static const struct attribute_group rio_dev_group = {
static DEVICE_ATTR(lnext, S_IRUGO, lnext_show, NULL); .attrs = rio_dev_attrs,
static DEVICE_ATTR(hopcount, S_IRUGO, hopcount_show, NULL); };
const struct attribute_group *rio_dev_groups[] = {
&rio_dev_group,
NULL,
};
static ssize_t static ssize_t
rio_read_config(struct file *filp, struct kobject *kobj, rio_read_config(struct file *filp, struct kobject *kobj,

View File

@ -48,7 +48,7 @@ extern struct rio_mport *rio_find_mport(int mport_id);
extern int rio_mport_scan(int mport_id); extern int rio_mport_scan(int mport_id);
/* Structures internal to the RIO core code */ /* 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[]; extern const struct attribute_group *rio_bus_groups[];
#define RIO_GET_DID(size, x) (size ? (x & 0xffff) : ((x & 0x00ff0000) >> 16)) #define RIO_GET_DID(size, x) (size ? (x & 0xffff) : ((x & 0x00ff0000) >> 16))