@@ -357,11 +357,6 @@ static const struct attribute_group nvmem_bin_group = {
357
357
.is_bin_visible = nvmem_bin_attr_is_visible ,
358
358
};
359
359
360
- /* Cell attributes will be dynamically allocated */
361
- static struct attribute_group nvmem_cells_group = {
362
- .name = "cells" ,
363
- };
364
-
365
360
static const struct attribute_group * nvmem_dev_groups [] = {
366
361
& nvmem_bin_group ,
367
362
NULL ,
@@ -424,23 +419,24 @@ static void nvmem_sysfs_remove_compat(struct nvmem_device *nvmem,
424
419
425
420
static int nvmem_populate_sysfs_cells (struct nvmem_device * nvmem )
426
421
{
427
- struct bin_attribute * * cells_attrs , * attrs ;
422
+ struct attribute_group group = {
423
+ .name = "cells" ,
424
+ };
428
425
struct nvmem_cell_entry * entry ;
426
+ struct bin_attribute * attrs ;
429
427
unsigned int ncells = 0 , i = 0 ;
430
428
int ret = 0 ;
431
429
432
430
mutex_lock (& nvmem_mutex );
433
431
434
- if (list_empty (& nvmem -> cells ) || nvmem -> sysfs_cells_populated ) {
435
- nvmem_cells_group .bin_attrs = NULL ;
432
+ if (list_empty (& nvmem -> cells ) || nvmem -> sysfs_cells_populated )
436
433
goto unlock_mutex ;
437
- }
438
434
439
435
/* Allocate an array of attributes with a sentinel */
440
436
ncells = list_count_nodes (& nvmem -> cells );
441
- cells_attrs = devm_kcalloc (& nvmem -> dev , ncells + 1 ,
442
- sizeof (struct bin_attribute * ), GFP_KERNEL );
443
- if (!cells_attrs ) {
437
+ group . bin_attrs = devm_kcalloc (& nvmem -> dev , ncells + 1 ,
438
+ sizeof (struct bin_attribute * ), GFP_KERNEL );
439
+ if (!group . bin_attrs ) {
444
440
ret = - ENOMEM ;
445
441
goto unlock_mutex ;
446
442
}
@@ -467,13 +463,11 @@ static int nvmem_populate_sysfs_cells(struct nvmem_device *nvmem)
467
463
goto unlock_mutex ;
468
464
}
469
465
470
- cells_attrs [i ] = & attrs [i ];
466
+ group . bin_attrs [i ] = & attrs [i ];
471
467
i ++ ;
472
468
}
473
469
474
- nvmem_cells_group .bin_attrs = cells_attrs ;
475
-
476
- ret = device_add_group (& nvmem -> dev , & nvmem_cells_group );
470
+ ret = device_add_group (& nvmem -> dev , & group );
477
471
if (ret )
478
472
goto unlock_mutex ;
479
473
0 commit comments