Lines Matching refs:sect_attrs
1527 static void free_sect_attrs(struct module_sect_attrs *sect_attrs) in free_sect_attrs() argument
1531 for (section = 0; section < sect_attrs->nsections; section++) in free_sect_attrs()
1532 kfree(sect_attrs->attrs[section].name); in free_sect_attrs()
1533 kfree(sect_attrs); in free_sect_attrs()
1539 struct module_sect_attrs *sect_attrs; in add_sect_attrs() local
1547 size[0] = ALIGN(struct_size(sect_attrs, attrs, nloaded), in add_sect_attrs()
1548 sizeof(sect_attrs->grp.attrs[0])); in add_sect_attrs()
1549 size[1] = (nloaded + 1) * sizeof(sect_attrs->grp.attrs[0]); in add_sect_attrs()
1550 sect_attrs = kzalloc(size[0] + size[1], GFP_KERNEL); in add_sect_attrs()
1551 if (sect_attrs == NULL) in add_sect_attrs()
1555 sect_attrs->grp.name = "sections"; in add_sect_attrs()
1556 sect_attrs->grp.attrs = (void *)sect_attrs + size[0]; in add_sect_attrs()
1558 sect_attrs->nsections = 0; in add_sect_attrs()
1559 sattr = §_attrs->attrs[0]; in add_sect_attrs()
1560 gattr = §_attrs->grp.attrs[0]; in add_sect_attrs()
1570 sect_attrs->nsections++; in add_sect_attrs()
1580 if (sysfs_create_group(&mod->mkobj.kobj, §_attrs->grp)) in add_sect_attrs()
1583 mod->sect_attrs = sect_attrs; in add_sect_attrs()
1586 free_sect_attrs(sect_attrs); in add_sect_attrs()
1591 if (mod->sect_attrs) { in remove_sect_attrs()
1593 &mod->sect_attrs->grp); in remove_sect_attrs()
1596 free_sect_attrs(mod->sect_attrs); in remove_sect_attrs()
1597 mod->sect_attrs = NULL; in remove_sect_attrs()
1641 if (!mod->sect_attrs) in add_notes_attrs()
1666 nattr->attr.name = mod->sect_attrs->attrs[loaded].name; in add_notes_attrs()