@@ -973,6 +973,7 @@ static const struct attribute_group auth_attr_group = {
973
973
.is_visible = auth_attr_is_visible ,
974
974
.attrs = auth_attrs ,
975
975
};
976
+ __ATTRIBUTE_GROUPS (auth_attr );
976
977
977
978
/* ---- Attributes sysfs --------------------------------------------------------- */
978
979
static ssize_t display_name_show (struct kobject * kobj , struct kobj_attribute * attr ,
@@ -1188,6 +1189,7 @@ static const struct attribute_group tlmi_attr_group = {
1188
1189
.is_visible = attr_is_visible ,
1189
1190
.attrs = tlmi_attrs ,
1190
1191
};
1192
+ __ATTRIBUTE_GROUPS (tlmi_attr );
1191
1193
1192
1194
static void tlmi_attr_setting_release (struct kobject * kobj )
1193
1195
{
@@ -1207,11 +1209,13 @@ static void tlmi_pwd_setting_release(struct kobject *kobj)
1207
1209
static const struct kobj_type tlmi_attr_setting_ktype = {
1208
1210
.release = & tlmi_attr_setting_release ,
1209
1211
.sysfs_ops = & kobj_sysfs_ops ,
1212
+ .default_groups = tlmi_attr_groups ,
1210
1213
};
1211
1214
1212
1215
static const struct kobj_type tlmi_pwd_setting_ktype = {
1213
1216
.release = & tlmi_pwd_setting_release ,
1214
1217
.sysfs_ops = & kobj_sysfs_ops ,
1218
+ .default_groups = auth_attr_groups ,
1215
1219
};
1216
1220
1217
1221
static 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);
1381
1385
static void tlmi_release_attr (void )
1382
1386
{
1383
1387
struct kobject * pos , * n ;
1384
- int i ;
1385
1388
1386
1389
/* 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
- }
1392
1390
sysfs_remove_file (& tlmi_priv .attribute_kset -> kobj , & pending_reboot .attr );
1393
1391
sysfs_remove_file (& tlmi_priv .attribute_kset -> kobj , & save_settings .attr );
1394
1392
@@ -1405,15 +1403,6 @@ static void tlmi_release_attr(void)
1405
1403
kfree (tlmi_priv .pwd_admin -> save_signature );
1406
1404
1407
1405
/* 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
-
1417
1406
list_for_each_entry_safe (pos , n , & tlmi_priv .authentication_kset -> list , entry )
1418
1407
kobject_put (pos );
1419
1408
@@ -1484,10 +1473,6 @@ static int tlmi_sysfs_init(void)
1484
1473
NULL , "%s" , tlmi_priv .setting [i ]-> display_name );
1485
1474
if (ret )
1486
1475
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 ;
1491
1476
}
1492
1477
1493
1478
ret = sysfs_create_file (& tlmi_priv .attribute_kset -> kobj , & pending_reboot .attr );
@@ -1511,50 +1496,30 @@ static int tlmi_sysfs_init(void)
1511
1496
if (ret )
1512
1497
goto fail_create_attr ;
1513
1498
1514
- ret = sysfs_create_group (& tlmi_priv .pwd_admin -> kobj , & auth_attr_group );
1515
- if (ret )
1516
- goto fail_create_attr ;
1517
-
1518
1499
tlmi_priv .pwd_power -> kobj .kset = tlmi_priv .authentication_kset ;
1519
1500
ret = kobject_init_and_add (& tlmi_priv .pwd_power -> kobj , & tlmi_pwd_setting_ktype ,
1520
1501
NULL , "%s" , "Power-on" );
1521
1502
if (ret )
1522
1503
goto fail_create_attr ;
1523
1504
1524
- ret = sysfs_create_group (& tlmi_priv .pwd_power -> kobj , & auth_attr_group );
1525
- if (ret )
1526
- goto fail_create_attr ;
1527
-
1528
1505
if (tlmi_priv .opcode_support ) {
1529
1506
tlmi_priv .pwd_system -> kobj .kset = tlmi_priv .authentication_kset ;
1530
1507
ret = kobject_init_and_add (& tlmi_priv .pwd_system -> kobj , & tlmi_pwd_setting_ktype ,
1531
1508
NULL , "%s" , "System" );
1532
1509
if (ret )
1533
1510
goto fail_create_attr ;
1534
1511
1535
- ret = sysfs_create_group (& tlmi_priv .pwd_system -> kobj , & auth_attr_group );
1536
- if (ret )
1537
- goto fail_create_attr ;
1538
-
1539
1512
tlmi_priv .pwd_hdd -> kobj .kset = tlmi_priv .authentication_kset ;
1540
1513
ret = kobject_init_and_add (& tlmi_priv .pwd_hdd -> kobj , & tlmi_pwd_setting_ktype ,
1541
1514
NULL , "%s" , "HDD" );
1542
1515
if (ret )
1543
1516
goto fail_create_attr ;
1544
1517
1545
- ret = sysfs_create_group (& tlmi_priv .pwd_hdd -> kobj , & auth_attr_group );
1546
- if (ret )
1547
- goto fail_create_attr ;
1548
-
1549
1518
tlmi_priv .pwd_nvme -> kobj .kset = tlmi_priv .authentication_kset ;
1550
1519
ret = kobject_init_and_add (& tlmi_priv .pwd_nvme -> kobj , & tlmi_pwd_setting_ktype ,
1551
1520
NULL , "%s" , "NVMe" );
1552
1521
if (ret )
1553
1522
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 ;
1558
1523
}
1559
1524
1560
1525
return ret ;
0 commit comments