Lines Matching refs:type

25 	struct mdev_type *type = to_mdev_type(kobj);  in mdev_type_attr_show()  local
29 ret = attr->show(type, attr, buf); in mdev_type_attr_show()
38 struct mdev_type *type = to_mdev_type(kobj); in mdev_type_attr_store() local
42 ret = attr->store(type, attr, buf, count); in mdev_type_attr_store()
82 struct mdev_type *type = to_mdev_type(kobj); in mdev_type_release() local
86 mdev_put_parent(type->parent); in mdev_type_release()
87 kfree(type); in mdev_type_release()
98 struct mdev_type *type; in add_mdev_supported_type() local
108 type = kzalloc(sizeof(*type), GFP_KERNEL); in add_mdev_supported_type()
109 if (!type) in add_mdev_supported_type()
112 type->kobj.kset = parent->mdev_types_kset; in add_mdev_supported_type()
113 type->parent = parent; in add_mdev_supported_type()
116 type->type_group_id = type_group_id; in add_mdev_supported_type()
118 ret = kobject_init_and_add(&type->kobj, &mdev_type_ktype, NULL, in add_mdev_supported_type()
122 kobject_put(&type->kobj); in add_mdev_supported_type()
126 ret = sysfs_create_file(&type->kobj, &mdev_type_attr_create.attr); in add_mdev_supported_type()
130 type->devices_kobj = kobject_create_and_add("devices", &type->kobj); in add_mdev_supported_type()
131 if (!type->devices_kobj) { in add_mdev_supported_type()
136 ret = sysfs_create_files(&type->kobj, in add_mdev_supported_type()
142 return type; in add_mdev_supported_type()
145 kobject_put(type->devices_kobj); in add_mdev_supported_type()
147 sysfs_remove_file(&type->kobj, &mdev_type_attr_create.attr); in add_mdev_supported_type()
149 kobject_del(&type->kobj); in add_mdev_supported_type()
150 kobject_put(&type->kobj); in add_mdev_supported_type()
154 static void remove_mdev_supported_type(struct mdev_type *type) in remove_mdev_supported_type() argument
157 type->parent->mdev_driver->supported_type_groups[type->type_group_id]; in remove_mdev_supported_type()
159 sysfs_remove_files(&type->kobj, in remove_mdev_supported_type()
161 kobject_put(type->devices_kobj); in remove_mdev_supported_type()
162 sysfs_remove_file(&type->kobj, &mdev_type_attr_create.attr); in remove_mdev_supported_type()
163 kobject_del(&type->kobj); in remove_mdev_supported_type()
164 kobject_put(&type->kobj); in remove_mdev_supported_type()
172 struct mdev_type *type; in add_mdev_supported_type_groups() local
174 type = add_mdev_supported_type(parent, i); in add_mdev_supported_type_groups()
175 if (IS_ERR(type)) { in add_mdev_supported_type_groups()
183 return PTR_ERR(type); in add_mdev_supported_type_groups()
185 list_add(&type->next, &parent->type_list); in add_mdev_supported_type_groups()
193 struct mdev_type *type, *tmp; in parent_remove_sysfs_files() local
195 list_for_each_entry_safe(type, tmp, &parent->type_list, next) { in parent_remove_sysfs_files()
196 list_del(&type->next); in parent_remove_sysfs_files()
197 remove_mdev_supported_type(type); in parent_remove_sysfs_files()
263 struct mdev_type *type = mdev->type; in mdev_create_sysfs_files() local
267 ret = sysfs_create_link(type->devices_kobj, kobj, dev_name(&mdev->dev)); in mdev_create_sysfs_files()
271 ret = sysfs_create_link(kobj, &type->kobj, "mdev_type"); in mdev_create_sysfs_files()
277 sysfs_remove_link(mdev->type->devices_kobj, dev_name(&mdev->dev)); in mdev_create_sysfs_files()
286 sysfs_remove_link(mdev->type->devices_kobj, dev_name(&mdev->dev)); in mdev_remove_sysfs_files()