define_mask(KTHREAD),
 };
 
-static struct attribute *mlog_attr_ptrs[MLOG_MAX_BITS] = {NULL, };
+static struct attribute *mlog_default_attrs[MLOG_MAX_BITS] = {NULL, };
+ATTRIBUTE_GROUPS(mlog_default);
 
 static ssize_t mlog_show(struct kobject *obj, struct attribute *attr,
                         char *buf)
 };
 
 static struct kobj_type mlog_ktype = {
-       .default_attrs = mlog_attr_ptrs,
-       .sysfs_ops     = &mlog_attr_ops,
+       .default_groups = mlog_default_groups,
+       .sysfs_ops      = &mlog_attr_ops,
 };
 
 static struct kset mlog_kset = {
        int i = 0;
 
        while (mlog_attrs[i].attr.mode) {
-               mlog_attr_ptrs[i] = &mlog_attrs[i].attr;
+               mlog_default_attrs[i] = &mlog_attrs[i].attr;
                i++;
        }
-       mlog_attr_ptrs[i] = NULL;
+       mlog_default_attrs[i] = NULL;
 
        kobject_set_name(&mlog_kset.kobj, "logmask");
        mlog_kset.kobj.kset = o2cb_kset;