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()
409 if (test_bit(attr_bkey, pbundle->bundle.attr_present)) in uverbs_set_attr()
416 __set_bit(attr_bkey, pbundle->bundle.attr_present); in uverbs_set_attr()
433 &pbundle->bundle.ufile->device->disassociate_srcu); in ib_uverbs_run_method()
437 pbundle->uattrs = uverbs_alloc(&pbundle->bundle, uattrs_size); in ib_uverbs_run_method()
451 pbundle->bundle.attr_present, in ib_uverbs_run_method()
456 uverbs_fill_udata(&pbundle->bundle, in ib_uverbs_run_method()
457 &pbundle->bundle.driver_udata, in ib_uverbs_run_method()
460 pbundle->bundle.driver_udata = (struct ib_udata){}; in ib_uverbs_run_method()
464 &pbundle->bundle.attrs[destroy_bkey].obj_attr; in ib_uverbs_run_method()
466 ret = uobj_destroy(destroy_attr->uobject, &pbundle->bundle); in ib_uverbs_run_method()
471 ret = handler(&pbundle->bundle); in ib_uverbs_run_method()
474 ret = handler(&pbundle->bundle); in ib_uverbs_run_method()
484 uverbs_attr_get(&pbundle->bundle, UVERBS_ATTR_UHW_OUT); in ib_uverbs_run_method()
487 ret = uverbs_set_output(&pbundle->bundle, attr); in ib_uverbs_run_method()
511 struct uverbs_attr *attr = &pbundle->bundle.attrs[i]; in bundle_destroy()
518 &pbundle->bundle); in bundle_destroy()
524 struct uverbs_attr *attr = &pbundle->bundle.attrs[i]; in bundle_destroy()
538 commit, &pbundle->bundle); in bundle_destroy()
591 pbundle->bundle.ufile = ufile; in ib_uverbs_cmd_verbs()
592 pbundle->bundle.context = NULL; /* only valid if bundle has uobject */ in ib_uverbs_cmd_verbs()
599 sizeof(*pbundle->bundle.attrs), in ib_uverbs_cmd_verbs()
601 memset(pbundle->bundle.attr_present, 0, in ib_uverbs_cmd_verbs()
602 sizeof(pbundle->bundle.attr_present)); in ib_uverbs_cmd_verbs()
698 void uverbs_fill_udata(struct uverbs_attr_bundle *bundle, in uverbs_fill_udata() argument
703 container_of(bundle, struct bundle_priv, bundle); in uverbs_fill_udata()
705 uverbs_attr_get(&pbundle->bundle, attr_in); in uverbs_fill_udata()
707 uverbs_attr_get(&pbundle->bundle, attr_out); in uverbs_fill_udata()
731 int uverbs_copy_to(const struct uverbs_attr_bundle *bundle, size_t idx, in uverbs_copy_to() argument
734 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx); in uverbs_copy_to()
744 return uverbs_set_output(bundle, attr); in uverbs_copy_to()
753 int uverbs_output_written(const struct uverbs_attr_bundle *bundle, size_t idx) in uverbs_output_written() argument
755 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx); in uverbs_output_written()
760 return uverbs_set_output(bundle, attr); in uverbs_output_written()
810 int uverbs_copy_to_struct_or_zero(const struct uverbs_attr_bundle *bundle, in uverbs_copy_to_struct_or_zero() argument
813 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx); in uverbs_copy_to_struct_or_zero()
823 return uverbs_copy_to(bundle, idx, from, size); in uverbs_copy_to_struct_or_zero()
828 void uverbs_finalize_uobj_create(const struct uverbs_attr_bundle *bundle, in uverbs_finalize_uobj_create() argument
832 container_of(bundle, struct bundle_priv, bundle); in uverbs_finalize_uobj_create()