@@ -916,6 +916,7 @@ static const struct attribute_group auth_attr_group = {
916916 .is_visible = auth_attr_is_visible ,
917917 .attrs = auth_attrs ,
918918};
919+ __ATTRIBUTE_GROUPS (auth_attr );
919920
920921/* ---- Attributes sysfs --------------------------------------------------------- */
921922static ssize_t display_name_show (struct kobject * kobj , struct kobj_attribute * attr ,
@@ -1119,6 +1120,7 @@ static const struct attribute_group tlmi_attr_group = {
11191120 .is_visible = attr_is_visible ,
11201121 .attrs = tlmi_attrs ,
11211122};
1123+ __ATTRIBUTE_GROUPS (tlmi_attr );
11221124
11231125static void tlmi_attr_setting_release (struct kobject * kobj )
11241126{
@@ -1138,11 +1140,13 @@ static void tlmi_pwd_setting_release(struct kobject *kobj)
11381140static const struct kobj_type tlmi_attr_setting_ktype = {
11391141 .release = & tlmi_attr_setting_release ,
11401142 .sysfs_ops = & kobj_sysfs_ops ,
1143+ .default_groups = tlmi_attr_groups ,
11411144};
11421145
11431146static const struct kobj_type tlmi_pwd_setting_ktype = {
11441147 .release = & tlmi_pwd_setting_release ,
11451148 .sysfs_ops = & kobj_sysfs_ops ,
1149+ .default_groups = auth_attr_groups ,
11461150};
11471151
11481152static ssize_t pending_reboot_show (struct kobject * kobj , struct kobj_attribute * attr ,
@@ -1213,14 +1217,8 @@ static struct kobj_attribute debug_cmd = __ATTR_WO(debug_cmd);
12131217static void tlmi_release_attr (void )
12141218{
12151219 struct kobject * pos , * n ;
1216- int i ;
12171220
12181221 /* Attribute structures */
1219- for (i = 0 ; i < TLMI_SETTINGS_COUNT ; i ++ ) {
1220- if (tlmi_priv .setting [i ]) {
1221- sysfs_remove_group (& tlmi_priv .setting [i ]-> kobj , & tlmi_attr_group );
1222- }
1223- }
12241222 sysfs_remove_file (& tlmi_priv .attribute_kset -> kobj , & pending_reboot .attr );
12251223 if (tlmi_priv .can_debug_cmd && debug_support )
12261224 sysfs_remove_file (& tlmi_priv .attribute_kset -> kobj , & debug_cmd .attr );
@@ -1235,15 +1233,6 @@ static void tlmi_release_attr(void)
12351233 kfree (tlmi_priv .pwd_admin -> save_signature );
12361234
12371235 /* Authentication structures */
1238- sysfs_remove_group (& tlmi_priv .pwd_admin -> kobj , & auth_attr_group );
1239- sysfs_remove_group (& tlmi_priv .pwd_power -> kobj , & auth_attr_group );
1240-
1241- if (tlmi_priv .opcode_support ) {
1242- sysfs_remove_group (& tlmi_priv .pwd_system -> kobj , & auth_attr_group );
1243- sysfs_remove_group (& tlmi_priv .pwd_hdd -> kobj , & auth_attr_group );
1244- sysfs_remove_group (& tlmi_priv .pwd_nvme -> kobj , & auth_attr_group );
1245- }
1246-
12471236 list_for_each_entry_safe (pos , n , & tlmi_priv .authentication_kset -> list , entry )
12481237 kobject_put (pos );
12491238
@@ -1314,10 +1303,6 @@ static int tlmi_sysfs_init(void)
13141303 NULL , "%s" , tlmi_priv .setting [i ]-> display_name );
13151304 if (ret )
13161305 goto fail_create_attr ;
1317-
1318- ret = sysfs_create_group (& tlmi_priv .setting [i ]-> kobj , & tlmi_attr_group );
1319- if (ret )
1320- goto fail_create_attr ;
13211306 }
13221307
13231308 ret = sysfs_create_file (& tlmi_priv .attribute_kset -> kobj , & pending_reboot .attr );
@@ -1337,50 +1322,30 @@ static int tlmi_sysfs_init(void)
13371322 if (ret )
13381323 goto fail_create_attr ;
13391324
1340- ret = sysfs_create_group (& tlmi_priv .pwd_admin -> kobj , & auth_attr_group );
1341- if (ret )
1342- goto fail_create_attr ;
1343-
13441325 tlmi_priv .pwd_power -> kobj .kset = tlmi_priv .authentication_kset ;
13451326 ret = kobject_init_and_add (& tlmi_priv .pwd_power -> kobj , & tlmi_pwd_setting_ktype ,
13461327 NULL , "%s" , "Power-on" );
13471328 if (ret )
13481329 goto fail_create_attr ;
13491330
1350- ret = sysfs_create_group (& tlmi_priv .pwd_power -> kobj , & auth_attr_group );
1351- if (ret )
1352- goto fail_create_attr ;
1353-
13541331 if (tlmi_priv .opcode_support ) {
13551332 tlmi_priv .pwd_system -> kobj .kset = tlmi_priv .authentication_kset ;
13561333 ret = kobject_init_and_add (& tlmi_priv .pwd_system -> kobj , & tlmi_pwd_setting_ktype ,
13571334 NULL , "%s" , "System" );
13581335 if (ret )
13591336 goto fail_create_attr ;
13601337
1361- ret = sysfs_create_group (& tlmi_priv .pwd_system -> kobj , & auth_attr_group );
1362- if (ret )
1363- goto fail_create_attr ;
1364-
13651338 tlmi_priv .pwd_hdd -> kobj .kset = tlmi_priv .authentication_kset ;
13661339 ret = kobject_init_and_add (& tlmi_priv .pwd_hdd -> kobj , & tlmi_pwd_setting_ktype ,
13671340 NULL , "%s" , "HDD" );
13681341 if (ret )
13691342 goto fail_create_attr ;
13701343
1371- ret = sysfs_create_group (& tlmi_priv .pwd_hdd -> kobj , & auth_attr_group );
1372- if (ret )
1373- goto fail_create_attr ;
1374-
13751344 tlmi_priv .pwd_nvme -> kobj .kset = tlmi_priv .authentication_kset ;
13761345 ret = kobject_init_and_add (& tlmi_priv .pwd_nvme -> kobj , & tlmi_pwd_setting_ktype ,
13771346 NULL , "%s" , "NVMe" );
13781347 if (ret )
13791348 goto fail_create_attr ;
1380-
1381- ret = sysfs_create_group (& tlmi_priv .pwd_nvme -> kobj , & auth_attr_group );
1382- if (ret )
1383- goto fail_create_attr ;
13841349 }
13851350
13861351 return ret ;
0 commit comments