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