i2o: 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 i2o bus code to use the
correct field.

Cc: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Greg Kroah-Hartman 2013-10-07 18:27:42 -07:00
parent b785464bdb
commit ba6857b2d4
3 changed files with 23 additions and 13 deletions

View File

@ -33,7 +33,7 @@ extern int __init i2o_pci_init(void);
extern void __exit i2o_pci_exit(void); extern void __exit i2o_pci_exit(void);
/* device */ /* device */
extern struct device_attribute i2o_device_attrs[]; extern const struct attribute_group *i2o_device_groups[];
extern void i2o_device_remove(struct i2o_device *); extern void i2o_device_remove(struct i2o_device *);
extern int i2o_device_parse_lct(struct i2o_controller *); extern int i2o_device_parse_lct(struct i2o_controller *);

View File

@ -138,45 +138,55 @@ static void i2o_device_release(struct device *dev)
} }
/** /**
* i2o_device_show_class_id - Displays class id of I2O device * class_id_show - Displays class id of I2O device
* @dev: device of which the class id should be displayed * @dev: device of which the class id should be displayed
* @attr: pointer to device attribute * @attr: pointer to device attribute
* @buf: buffer into which the class id should be printed * @buf: buffer into which the class id should be printed
* *
* Returns the number of bytes which are printed into the buffer. * Returns the number of bytes which are printed into the buffer.
*/ */
static ssize_t i2o_device_show_class_id(struct device *dev, static ssize_t class_id_show(struct device *dev, struct device_attribute *attr,
struct device_attribute *attr, char *buf)
char *buf)
{ {
struct i2o_device *i2o_dev = to_i2o_device(dev); struct i2o_device *i2o_dev = to_i2o_device(dev);
sprintf(buf, "0x%03x\n", i2o_dev->lct_data.class_id); sprintf(buf, "0x%03x\n", i2o_dev->lct_data.class_id);
return strlen(buf) + 1; return strlen(buf) + 1;
} }
static DEVICE_ATTR_RO(class_id);
/** /**
* i2o_device_show_tid - Displays TID of I2O device * tid_show - Displays TID of I2O device
* @dev: device of which the TID should be displayed * @dev: device of which the TID should be displayed
* @attr: pointer to device attribute * @attr: pointer to device attribute
* @buf: buffer into which the TID should be printed * @buf: buffer into which the TID should be printed
* *
* Returns the number of bytes which are printed into the buffer. * Returns the number of bytes which are printed into the buffer.
*/ */
static ssize_t i2o_device_show_tid(struct device *dev, static ssize_t tid_show(struct device *dev, struct device_attribute *attr,
struct device_attribute *attr, char *buf) char *buf)
{ {
struct i2o_device *i2o_dev = to_i2o_device(dev); struct i2o_device *i2o_dev = to_i2o_device(dev);
sprintf(buf, "0x%03x\n", i2o_dev->lct_data.tid); sprintf(buf, "0x%03x\n", i2o_dev->lct_data.tid);
return strlen(buf) + 1; return strlen(buf) + 1;
} }
static DEVICE_ATTR_RO(tid);
/* I2O device attributes */ /* I2O device attributes */
struct device_attribute i2o_device_attrs[] = { static struct attribute *i2o_device_attrs[] = {
__ATTR(class_id, S_IRUGO, i2o_device_show_class_id, NULL), &dev_attr_class_id.attr,
__ATTR(tid, S_IRUGO, i2o_device_show_tid, NULL), &dev_attr_tid.attr,
__ATTR_NULL NULL,
};
static const struct attribute_group i2o_device_group = {
.attrs = i2o_device_attrs,
};
const struct attribute_group *i2o_device_groups[] = {
&i2o_device_group,
NULL,
}; };
/** /**

View File

@ -62,7 +62,7 @@ static int i2o_bus_match(struct device *dev, struct device_driver *drv)
struct bus_type i2o_bus_type = { struct bus_type i2o_bus_type = {
.name = "i2o", .name = "i2o",
.match = i2o_bus_match, .match = i2o_bus_match,
.dev_attrs = i2o_device_attrs .dev_groups = i2o_device_groups,
}; };
/** /**