NULL
};
-static const struct attribute_group slab_attr_group = {
- .attrs = slab_attrs,
-};
+ATTRIBUTE_GROUPS(slab);
static ssize_t slab_attr_show(struct kobject *kobj,
struct attribute *attr,
static const struct kobj_type slab_ktype = {
.sysfs_ops = &slab_sysfs_ops,
.release = kmem_cache_release,
+ .default_groups = slab_groups,
};
static struct kset *slab_kset;
if (err)
goto out;
- err = sysfs_create_group(&s->kobj, &slab_attr_group);
- if (err)
- goto out_del_kobj;
-
if (!unmergeable) {
/* Setup first alias */
sysfs_slab_alias(s, s->name);
if (!unmergeable)
kfree(name);
return err;
-out_del_kobj:
- kobject_del(&s->kobj);
- goto out;
}
void sysfs_slab_unlink(struct kmem_cache *s)