enclosure: convert class code to use dev_groups
The dev_attrs field of struct class is going away soon, dev_groups should be used instead. This converts the enclosure class code to use the correct field. Cc: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
eb375597e2
commit
899826f16a
1 changed files with 11 additions and 18 deletions
|
@ -239,7 +239,7 @@ static void enclosure_component_release(struct device *dev)
|
||||||
put_device(dev->parent);
|
put_device(dev->parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
static const struct attribute_group *enclosure_groups[];
|
static const struct attribute_group *enclosure_component_groups[];
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* enclosure_component_register - add a particular component to an enclosure
|
* enclosure_component_register - add a particular component to an enclosure
|
||||||
|
@ -282,7 +282,7 @@ enclosure_component_register(struct enclosure_device *edev,
|
||||||
dev_set_name(cdev, "%u", number);
|
dev_set_name(cdev, "%u", number);
|
||||||
|
|
||||||
cdev->release = enclosure_component_release;
|
cdev->release = enclosure_component_release;
|
||||||
cdev->groups = enclosure_groups;
|
cdev->groups = enclosure_component_groups;
|
||||||
|
|
||||||
err = device_register(cdev);
|
err = device_register(cdev);
|
||||||
if (err) {
|
if (err) {
|
||||||
|
@ -365,25 +365,26 @@ EXPORT_SYMBOL_GPL(enclosure_remove_device);
|
||||||
* sysfs pieces below
|
* sysfs pieces below
|
||||||
*/
|
*/
|
||||||
|
|
||||||
static ssize_t enclosure_show_components(struct device *cdev,
|
static ssize_t components_show(struct device *cdev,
|
||||||
struct device_attribute *attr,
|
struct device_attribute *attr, char *buf)
|
||||||
char *buf)
|
|
||||||
{
|
{
|
||||||
struct enclosure_device *edev = to_enclosure_device(cdev);
|
struct enclosure_device *edev = to_enclosure_device(cdev);
|
||||||
|
|
||||||
return snprintf(buf, 40, "%d\n", edev->components);
|
return snprintf(buf, 40, "%d\n", edev->components);
|
||||||
}
|
}
|
||||||
|
static DEVICE_ATTR_RO(components);
|
||||||
|
|
||||||
static struct device_attribute enclosure_attrs[] = {
|
static struct attribute *enclosure_class_attrs[] = {
|
||||||
__ATTR(components, S_IRUGO, enclosure_show_components, NULL),
|
&dev_attr_components.attr,
|
||||||
__ATTR_NULL
|
NULL,
|
||||||
};
|
};
|
||||||
|
ATTRIBUTE_GROUPS(enclosure_class);
|
||||||
|
|
||||||
static struct class enclosure_class = {
|
static struct class enclosure_class = {
|
||||||
.name = "enclosure",
|
.name = "enclosure",
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.dev_release = enclosure_release,
|
.dev_release = enclosure_release,
|
||||||
.dev_attrs = enclosure_attrs,
|
.dev_groups = enclosure_class_groups,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char *const enclosure_status [] = {
|
static const char *const enclosure_status [] = {
|
||||||
|
@ -536,15 +537,7 @@ static struct attribute *enclosure_component_attrs[] = {
|
||||||
&dev_attr_type.attr,
|
&dev_attr_type.attr,
|
||||||
NULL
|
NULL
|
||||||
};
|
};
|
||||||
|
ATTRIBUTE_GROUPS(enclosure_component);
|
||||||
static struct attribute_group enclosure_group = {
|
|
||||||
.attrs = enclosure_component_attrs,
|
|
||||||
};
|
|
||||||
|
|
||||||
static const struct attribute_group *enclosure_groups[] = {
|
|
||||||
&enclosure_group,
|
|
||||||
NULL
|
|
||||||
};
|
|
||||||
|
|
||||||
static int __init enclosure_init(void)
|
static int __init enclosure_init(void)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue