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:
Родитель
b9b2f36761
Коммит
6d39c80b19
|
@ -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,
|
||||
|
|
|
@ -27,6 +27,7 @@ field##_show(struct device *dev, struct device_attribute *attr, char *buf) \
|
|||
\
|
||||
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 *dev, struct device_attribute *attr, ch
|
|||
|
||||
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 *dev,
|
|||
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 *dev,
|
|||
|
||||
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 device *dev,
|
|||
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,
|
||||
|
|
|
@ -48,7 +48,7 @@ extern struct rio_mport *rio_find_mport(int mport_id);
|
|||
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))
|
||||
|
|
Загрузка…
Ссылка в новой задаче