Lines Matching refs:sect_attrs
1583 static void free_sect_attrs(struct module_sect_attrs *sect_attrs) in free_sect_attrs() argument
1587 for (section = 0; section < sect_attrs->nsections; section++) in free_sect_attrs()
1588 kfree(sect_attrs->attrs[section].battr.attr.name); in free_sect_attrs()
1589 kfree(sect_attrs); in free_sect_attrs()
1595 struct module_sect_attrs *sect_attrs; in add_sect_attrs() local
1603 size[0] = ALIGN(struct_size(sect_attrs, attrs, nloaded), in add_sect_attrs()
1604 sizeof(sect_attrs->grp.bin_attrs[0])); in add_sect_attrs()
1605 size[1] = (nloaded + 1) * sizeof(sect_attrs->grp.bin_attrs[0]); in add_sect_attrs()
1606 sect_attrs = kzalloc(size[0] + size[1], GFP_KERNEL); in add_sect_attrs()
1607 if (sect_attrs == NULL) in add_sect_attrs()
1611 sect_attrs->grp.name = "sections"; in add_sect_attrs()
1612 sect_attrs->grp.bin_attrs = (void *)sect_attrs + size[0]; in add_sect_attrs()
1614 sect_attrs->nsections = 0; in add_sect_attrs()
1615 sattr = §_attrs->attrs[0]; in add_sect_attrs()
1616 gattr = §_attrs->grp.bin_attrs[0]; in add_sect_attrs()
1627 sect_attrs->nsections++; in add_sect_attrs()
1635 if (sysfs_create_group(&mod->mkobj.kobj, §_attrs->grp)) in add_sect_attrs()
1638 mod->sect_attrs = sect_attrs; in add_sect_attrs()
1641 free_sect_attrs(sect_attrs); in add_sect_attrs()
1646 if (mod->sect_attrs) { in remove_sect_attrs()
1648 &mod->sect_attrs->grp); in remove_sect_attrs()
1651 free_sect_attrs(mod->sect_attrs); in remove_sect_attrs()
1652 mod->sect_attrs = NULL; in remove_sect_attrs()
1696 if (!mod->sect_attrs) in add_notes_attrs()
1721 nattr->attr.name = mod->sect_attrs->attrs[loaded].battr.attr.name; in add_notes_attrs()