Lines Matching refs:kobj
37 struct kobject kobj;
93 #define to_iommu_group(_kobj) container_of(_kobj, struct iommu_group, kobj)
336 static ssize_t iommu_group_attr_show(struct kobject *kobj, struct attribute *__attr, char *buf)
339 struct iommu_group *group = to_iommu_group(kobj);
348 static ssize_t iommu_group_attr_store(struct kobject *kobj, struct attribute *__attr, const char *buf, size_t count)
351 struct iommu_group *group = to_iommu_group(kobj);
367 return sysfs_create_file(&group->kobj, &attr->attr);
372 sysfs_remove_file(&group->kobj, &attr->attr);
528 static void iommu_group_release(struct kobject *kobj)
530 struct iommu_group *group = to_iommu_group(kobj);
574 group->kobj.kset = iommu_group_kset;
587 ret = kobject_init_and_add(&group->kobj, &iommu_group_ktype, NULL, "%d", group->id);
590 kobject_put(&group->kobj);
594 group->devices_kobj = kobject_create_and_add("devices", &group->kobj);
596 kobject_put(&group->kobj); /* triggers .release & free */
605 kobject_put(&group->kobj);
645 group = container_of(group_kobj, struct iommu_group, kobj);
649 kobject_put(&group->kobj);
810 ret = sysfs_create_link(&dev->kobj, &group->kobj, "iommu_group");
815 device->name = kasprintf(GFP_KERNEL, "%s", kobject_name(&dev->kobj));
822 ret = sysfs_create_link_nowarn(group->devices_kobj, &dev->kobj, device->name);
830 device->name = kasprintf(GFP_KERNEL, "%s.%d", kobject_name(&dev->kobj), i++);
871 sysfs_remove_link(&dev->kobj, "iommu_group");
916 sysfs_remove_link(&dev->kobj, "iommu_group");