@@ -973,6 +973,7 @@ static const struct attribute_group auth_attr_group = {
973973 .is_visible = auth_attr_is_visible ,
974974 .attrs = auth_attrs ,
975975};
976+ __ATTRIBUTE_GROUPS (auth_attr );
976977
977978/* ---- Attributes sysfs --------------------------------------------------------- */
978979static ssize_t display_name_show (struct kobject * kobj , struct kobj_attribute * attr ,
@@ -1188,6 +1189,7 @@ static const struct attribute_group tlmi_attr_group = {
11881189 .is_visible = attr_is_visible ,
11891190 .attrs = tlmi_attrs ,
11901191};
1192+ __ATTRIBUTE_GROUPS (tlmi_attr );
11911193
11921194static void tlmi_attr_setting_release (struct kobject * kobj )
11931195{
@@ -1207,11 +1209,13 @@ static void tlmi_pwd_setting_release(struct kobject *kobj)
12071209static const struct kobj_type tlmi_attr_setting_ktype = {
12081210 .release = & tlmi_attr_setting_release ,
12091211 .sysfs_ops = & kobj_sysfs_ops ,
1212+ .default_groups = tlmi_attr_groups ,
12101213};
12111214
12121215static const struct kobj_type tlmi_pwd_setting_ktype = {
12131216 .release = & tlmi_pwd_setting_release ,
12141217 .sysfs_ops = & kobj_sysfs_ops ,
1218+ .default_groups = auth_attr_groups ,
12151219};
12161220
12171221static ssize_t pending_reboot_show (struct kobject * kobj , struct kobj_attribute * attr ,
@@ -1381,14 +1385,8 @@ static struct kobj_attribute debug_cmd = __ATTR_WO(debug_cmd);
13811385static void tlmi_release_attr (void )
13821386{
13831387 struct kobject * pos , * n ;
1384- int i ;
13851388
13861389 /* Attribute structures */
1387- for (i = 0 ; i < TLMI_SETTINGS_COUNT ; i ++ ) {
1388- if (tlmi_priv .setting [i ]) {
1389- sysfs_remove_group (& tlmi_priv .setting [i ]-> kobj , & tlmi_attr_group );
1390- }
1391- }
13921390 sysfs_remove_file (& tlmi_priv .attribute_kset -> kobj , & pending_reboot .attr );
13931391 sysfs_remove_file (& tlmi_priv .attribute_kset -> kobj , & save_settings .attr );
13941392
@@ -1405,15 +1403,6 @@ static void tlmi_release_attr(void)
14051403 kfree (tlmi_priv .pwd_admin -> save_signature );
14061404
14071405 /* Authentication structures */
1408- sysfs_remove_group (& tlmi_priv .pwd_admin -> kobj , & auth_attr_group );
1409- sysfs_remove_group (& tlmi_priv .pwd_power -> kobj , & auth_attr_group );
1410-
1411- if (tlmi_priv .opcode_support ) {
1412- sysfs_remove_group (& tlmi_priv .pwd_system -> kobj , & auth_attr_group );
1413- sysfs_remove_group (& tlmi_priv .pwd_hdd -> kobj , & auth_attr_group );
1414- sysfs_remove_group (& tlmi_priv .pwd_nvme -> kobj , & auth_attr_group );
1415- }
1416-
14171406 list_for_each_entry_safe (pos , n , & tlmi_priv .authentication_kset -> list , entry )
14181407 kobject_put (pos );
14191408
@@ -1484,10 +1473,6 @@ static int tlmi_sysfs_init(void)
14841473 NULL , "%s" , tlmi_priv .setting [i ]-> display_name );
14851474 if (ret )
14861475 goto fail_create_attr ;
1487-
1488- ret = sysfs_create_group (& tlmi_priv .setting [i ]-> kobj , & tlmi_attr_group );
1489- if (ret )
1490- goto fail_create_attr ;
14911476 }
14921477
14931478 ret = sysfs_create_file (& tlmi_priv .attribute_kset -> kobj , & pending_reboot .attr );
@@ -1511,50 +1496,30 @@ static int tlmi_sysfs_init(void)
15111496 if (ret )
15121497 goto fail_create_attr ;
15131498
1514- ret = sysfs_create_group (& tlmi_priv .pwd_admin -> kobj , & auth_attr_group );
1515- if (ret )
1516- goto fail_create_attr ;
1517-
15181499 tlmi_priv .pwd_power -> kobj .kset = tlmi_priv .authentication_kset ;
15191500 ret = kobject_init_and_add (& tlmi_priv .pwd_power -> kobj , & tlmi_pwd_setting_ktype ,
15201501 NULL , "%s" , "Power-on" );
15211502 if (ret )
15221503 goto fail_create_attr ;
15231504
1524- ret = sysfs_create_group (& tlmi_priv .pwd_power -> kobj , & auth_attr_group );
1525- if (ret )
1526- goto fail_create_attr ;
1527-
15281505 if (tlmi_priv .opcode_support ) {
15291506 tlmi_priv .pwd_system -> kobj .kset = tlmi_priv .authentication_kset ;
15301507 ret = kobject_init_and_add (& tlmi_priv .pwd_system -> kobj , & tlmi_pwd_setting_ktype ,
15311508 NULL , "%s" , "System" );
15321509 if (ret )
15331510 goto fail_create_attr ;
15341511
1535- ret = sysfs_create_group (& tlmi_priv .pwd_system -> kobj , & auth_attr_group );
1536- if (ret )
1537- goto fail_create_attr ;
1538-
15391512 tlmi_priv .pwd_hdd -> kobj .kset = tlmi_priv .authentication_kset ;
15401513 ret = kobject_init_and_add (& tlmi_priv .pwd_hdd -> kobj , & tlmi_pwd_setting_ktype ,
15411514 NULL , "%s" , "HDD" );
15421515 if (ret )
15431516 goto fail_create_attr ;
15441517
1545- ret = sysfs_create_group (& tlmi_priv .pwd_hdd -> kobj , & auth_attr_group );
1546- if (ret )
1547- goto fail_create_attr ;
1548-
15491518 tlmi_priv .pwd_nvme -> kobj .kset = tlmi_priv .authentication_kset ;
15501519 ret = kobject_init_and_add (& tlmi_priv .pwd_nvme -> kobj , & tlmi_pwd_setting_ktype ,
15511520 NULL , "%s" , "NVMe" );
15521521 if (ret )
15531522 goto fail_create_attr ;
1554-
1555- ret = sysfs_create_group (& tlmi_priv .pwd_nvme -> kobj , & auth_attr_group );
1556- if (ret )
1557- goto fail_create_attr ;
15581523 }
15591524
15601525 return ret ;
0 commit comments