Lines Matching refs:bundle
67 struct uverbs_attr_bundle bundle; member
82 sizeof(*pbundle->bundle.attrs) * method_elm->key_bitmap_len + in uapi_compute_bundle_size()
106 __malloc void *_uverbs_alloc(struct uverbs_attr_bundle *bundle, size_t size, in _uverbs_alloc() argument
110 container_of(bundle, struct bundle_priv, bundle); in _uverbs_alloc()
148 static int uverbs_set_output(const struct uverbs_attr_bundle *bundle, in uverbs_set_output() argument
152 container_of(bundle, struct bundle_priv, bundle); in uverbs_set_output()
187 uverbs_alloc(&pbundle->bundle, in uverbs_process_idrs_array()
212 idr_vals[i], &pbundle->bundle); in uverbs_process_idrs_array()
243 struct uverbs_attr *e = &pbundle->bundle.attrs[attr_bkey]; in uverbs_process_attr()
291 p = uverbs_alloc(&pbundle->bundle, uattr->len); in uverbs_process_attr()
324 uattr->data_s64, &pbundle->bundle); in uverbs_process_attr()
401 if (test_bit(attr_bkey, pbundle->bundle.attr_present)) in uverbs_set_attr()
408 __set_bit(attr_bkey, pbundle->bundle.attr_present); in uverbs_set_attr()
425 &pbundle->bundle.ufile->device->disassociate_srcu); in ib_uverbs_run_method()
429 pbundle->uattrs = uverbs_alloc(&pbundle->bundle, uattrs_size); in ib_uverbs_run_method()
443 pbundle->bundle.attr_present, in ib_uverbs_run_method()
448 uverbs_fill_udata(&pbundle->bundle, in ib_uverbs_run_method()
449 &pbundle->bundle.driver_udata, in ib_uverbs_run_method()
452 pbundle->bundle.driver_udata = (struct ib_udata){}; in ib_uverbs_run_method()
456 &pbundle->bundle.attrs[destroy_bkey].obj_attr; in ib_uverbs_run_method()
458 ret = uobj_destroy(destroy_attr->uobject, &pbundle->bundle); in ib_uverbs_run_method()
463 ret = handler(&pbundle->bundle); in ib_uverbs_run_method()
466 ret = handler(&pbundle->bundle); in ib_uverbs_run_method()
476 uverbs_attr_get(&pbundle->bundle, UVERBS_ATTR_UHW_OUT); in ib_uverbs_run_method()
479 ret = uverbs_set_output(&pbundle->bundle, attr); in ib_uverbs_run_method()
503 struct uverbs_attr *attr = &pbundle->bundle.attrs[i]; in bundle_destroy()
510 &pbundle->bundle); in bundle_destroy()
516 struct uverbs_attr *attr = &pbundle->bundle.attrs[i]; in bundle_destroy()
530 commit, &pbundle->bundle); in bundle_destroy()
583 pbundle->bundle.ufile = ufile; in ib_uverbs_cmd_verbs()
584 pbundle->bundle.context = NULL; /* only valid if bundle has uobject */ in ib_uverbs_cmd_verbs()
591 sizeof(*pbundle->bundle.attrs), in ib_uverbs_cmd_verbs()
593 memset(pbundle->bundle.attr_present, 0, in ib_uverbs_cmd_verbs()
594 sizeof(pbundle->bundle.attr_present)); in ib_uverbs_cmd_verbs()
690 void uverbs_fill_udata(struct uverbs_attr_bundle *bundle, in uverbs_fill_udata() argument
695 container_of(bundle, struct bundle_priv, bundle); in uverbs_fill_udata()
697 uverbs_attr_get(&pbundle->bundle, attr_in); in uverbs_fill_udata()
699 uverbs_attr_get(&pbundle->bundle, attr_out); in uverbs_fill_udata()
723 int uverbs_copy_to(const struct uverbs_attr_bundle *bundle, size_t idx, in uverbs_copy_to() argument
726 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx); in uverbs_copy_to()
736 return uverbs_set_output(bundle, attr); in uverbs_copy_to()
745 int uverbs_output_written(const struct uverbs_attr_bundle *bundle, size_t idx) in uverbs_output_written() argument
747 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx); in uverbs_output_written()
752 return uverbs_set_output(bundle, attr); in uverbs_output_written()
802 int uverbs_copy_to_struct_or_zero(const struct uverbs_attr_bundle *bundle, in uverbs_copy_to_struct_or_zero() argument
805 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx); in uverbs_copy_to_struct_or_zero()
815 return uverbs_copy_to(bundle, idx, from, size); in uverbs_copy_to_struct_or_zero()
820 void uverbs_finalize_uobj_create(const struct uverbs_attr_bundle *bundle, in uverbs_finalize_uobj_create() argument
824 container_of(bundle, struct bundle_priv, bundle); in uverbs_finalize_uobj_create()