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:
Greg Kroah-Hartman 2013-07-24 15:05:16 -07:00
parent eb375597e2
commit 899826f16a

View File

@ -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)
{ {