Lines Matching refs:bundle

66 	 * Must be last. bundle ends in a flex array which overlaps
69 struct uverbs_attr_bundle_hdr bundle;
82 struct uverbs_attr_bundle *bundle;
85 sizeof(*bundle->attrs) * method_elm->key_bitmap_len +
97 * _uverbs_alloc() - Quickly allocate memory for use with a bundle
98 * @bundle: The bundle
102 * The bundle allocator is intended for allocations that are connected with
103 * processing the system call related to the bundle. The allocated memory is
109 __malloc void *_uverbs_alloc(struct uverbs_attr_bundle *bundle, size_t size,
113 container_of(&bundle->hdr, struct bundle_priv, bundle);
151 static int uverbs_set_output(const struct uverbs_attr_bundle *bundle,
155 container_of(&bundle->hdr, struct bundle_priv, bundle);
172 struct uverbs_attr_bundle *bundle =
173 container_of(&pbundle->bundle, struct uverbs_attr_bundle, hdr);
192 uverbs_alloc(bundle,
217 idr_vals[i], bundle);
248 struct uverbs_attr_bundle *bundle =
249 container_of(&pbundle->bundle, struct uverbs_attr_bundle, hdr);
250 struct uverbs_attr *e = &bundle->attrs[attr_bkey];
298 p = uverbs_alloc(bundle, uattr->len);
331 uattr->data_s64, bundle);
416 if (test_bit(attr_bkey, pbundle->bundle.attr_present))
423 __set_bit(attr_bkey, pbundle->bundle.attr_present);
432 struct uverbs_attr_bundle *bundle =
433 container_of(&pbundle->bundle, struct uverbs_attr_bundle, hdr);
442 &pbundle->bundle.ufile->device->disassociate_srcu);
446 pbundle->uattrs = uverbs_alloc(bundle, uattrs_size);
460 pbundle->bundle.attr_present,
465 uverbs_fill_udata(bundle, &pbundle->bundle.driver_udata,
468 pbundle->bundle.driver_udata = (struct ib_udata){};
471 struct uverbs_obj_attr *destroy_attr = &bundle->attrs[destroy_bkey].obj_attr;
473 ret = uobj_destroy(destroy_attr->uobject, bundle);
478 ret = handler(bundle);
481 ret = handler(bundle);
485 * Until the drivers are revised to use the bundle directly we have to
491 uverbs_attr_get(bundle, UVERBS_ATTR_UHW_OUT);
494 ret = uverbs_set_output(bundle, attr);
511 struct uverbs_attr_bundle *bundle =
512 container_of(&pbundle->bundle, struct uverbs_attr_bundle, hdr);
520 struct uverbs_attr *attr = &bundle->attrs[i];
526 commit, bundle);
532 struct uverbs_attr *attr = &bundle->attrs[i];
546 commit, bundle);
597 /* Space for the pbundle->bundle.attrs flex array */
600 pbundle->bundle.ufile = ufile;
601 pbundle->bundle.context = NULL; /* only valid if bundle has uobject */
608 sizeof(*container_of(&pbundle->bundle,
611 memset(pbundle->bundle.attr_present, 0,
612 sizeof(pbundle->bundle.attr_present));
708 void uverbs_fill_udata(struct uverbs_attr_bundle *bundle,
713 container_of(&bundle->hdr, struct bundle_priv, bundle);
715 container_of(&pbundle->bundle, struct uverbs_attr_bundle, hdr);
743 int uverbs_copy_to(const struct uverbs_attr_bundle *bundle, size_t idx,
746 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx);
756 return uverbs_set_output(bundle, attr);
765 int uverbs_output_written(const struct uverbs_attr_bundle *bundle, size_t idx)
767 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx);
772 return uverbs_set_output(bundle, attr);
822 int uverbs_copy_to_struct_or_zero(const struct uverbs_attr_bundle *bundle,
825 const struct uverbs_attr *attr = uverbs_attr_get(bundle, idx);
835 return uverbs_copy_to(bundle, idx, from, size);
840 void uverbs_finalize_uobj_create(const struct uverbs_attr_bundle *bundle,
844 container_of(&bundle->hdr, struct bundle_priv, bundle);