UIO: use default_groups in kobj_type
authorGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 28 Dec 2021 13:13:19 +0000 (14:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 29 Dec 2021 09:54:50 +0000 (10:54 +0100)
There are currently 2 ways to create a set of sysfs files for a
kobj_type, through the default_attrs field, and the default_groups
field.  Move the UIO code to use default_groups field which has been the
preferred way since aa30f47cf666 ("kobject: Add support for default
attribute groups to kobj_type") so that we can soon get rid of the
obsolete default_attrs field.

Link: https://lore.kernel.org/r/20211228131319.249324-1-gregkh@linuxfoundation.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/uio/uio.c

index ea96e31..43afbb7 100644 (file)
@@ -83,13 +83,14 @@ static struct map_sysfs_entry size_attribute =
 static struct map_sysfs_entry offset_attribute =
        __ATTR(offset, S_IRUGO, map_offset_show, NULL);
 
-static struct attribute *attrs[] = {
+static struct attribute *map_attrs[] = {
        &name_attribute.attr,
        &addr_attribute.attr,
        &size_attribute.attr,
        &offset_attribute.attr,
        NULL,   /* need to NULL terminate the list of attributes */
 };
+ATTRIBUTE_GROUPS(map);
 
 static void map_release(struct kobject *kobj)
 {
@@ -119,7 +120,7 @@ static const struct sysfs_ops map_sysfs_ops = {
 static struct kobj_type map_attr_type = {
        .release        = map_release,
        .sysfs_ops      = &map_sysfs_ops,
-       .default_attrs  = attrs,
+       .default_groups = map_groups,
 };
 
 struct uio_portio {
@@ -178,6 +179,7 @@ static struct attribute *portio_attrs[] = {
        &portio_porttype_attribute.attr,
        NULL,
 };
+ATTRIBUTE_GROUPS(portio);
 
 static void portio_release(struct kobject *kobj)
 {
@@ -207,7 +209,7 @@ static const struct sysfs_ops portio_sysfs_ops = {
 static struct kobj_type portio_attr_type = {
        .release        = portio_release,
        .sysfs_ops      = &portio_sysfs_ops,
-       .default_attrs  = portio_attrs,
+       .default_groups = portio_groups,
 };
 
 static ssize_t name_show(struct device *dev,