enclosure: convert class code to use dev_groups
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jul 2013 22:05:16 +0000 (15:05 -0700)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 24 Jul 2013 22:39:04 +0000 (15:39 -0700)
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>
drivers/misc/enclosure.c

index 00e5fca..0e8df41 100644 (file)
@@ -239,7 +239,7 @@ static void enclosure_component_release(struct device *dev)
        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
@@ -282,7 +282,7 @@ enclosure_component_register(struct enclosure_device *edev,
                dev_set_name(cdev, "%u", number);
 
        cdev->release = enclosure_component_release;
-       cdev->groups = enclosure_groups;
+       cdev->groups = enclosure_component_groups;
 
        err = device_register(cdev);
        if (err) {
@@ -365,25 +365,26 @@ EXPORT_SYMBOL_GPL(enclosure_remove_device);
  * sysfs pieces below
  */
 
-static ssize_t enclosure_show_components(struct device *cdev,
-                                        struct device_attribute *attr,
-                                        char *buf)
+static ssize_t components_show(struct device *cdev,
+                              struct device_attribute *attr, char *buf)
 {
        struct enclosure_device *edev = to_enclosure_device(cdev);
 
        return snprintf(buf, 40, "%d\n", edev->components);
 }
+static DEVICE_ATTR_RO(components);
 
-static struct device_attribute enclosure_attrs[] = {
-       __ATTR(components, S_IRUGO, enclosure_show_components, NULL),
-       __ATTR_NULL
+static struct attribute *enclosure_class_attrs[] = {
+       &dev_attr_components.attr,
+       NULL,
 };
+ATTRIBUTE_GROUPS(enclosure_class);
 
 static struct class enclosure_class = {
        .name                   = "enclosure",
        .owner                  = THIS_MODULE,
        .dev_release            = enclosure_release,
-       .dev_attrs              = enclosure_attrs,
+       .dev_groups             = enclosure_class_groups,
 };
 
 static const char *const enclosure_status [] = {
@@ -536,15 +537,7 @@ static struct attribute *enclosure_component_attrs[] = {
        &dev_attr_type.attr,
        NULL
 };
-
-static struct attribute_group enclosure_group = {
-       .attrs = enclosure_component_attrs,
-};
-
-static const struct attribute_group *enclosure_groups[] = {
-       &enclosure_group,
-       NULL
-};
+ATTRIBUTE_GROUPS(enclosure_component);
 
 static int __init enclosure_init(void)
 {