On Sat, Oct 19, 2024 at 06:35:45PM -0700, Nicolin Chen wrote:
On Thu, Oct 17, 2024 at 03:45:56PM -0300, Jason Gunthorpe wrote:
+struct iommufd_vdevice * +__iommufd_vdevice_alloc(struct iommufd_ctx *ictx, size_t size) +{
- struct iommufd_object *obj;
- if (WARN_ON(size < sizeof(struct iommufd_vdevice)))
return ERR_PTR(-EINVAL);
- obj = iommufd_object_alloc_elm(ictx, size, IOMMUFD_OBJ_VDEVICE);
- if (IS_ERR(obj))
return ERR_CAST(obj);
- return container_of(obj, struct iommufd_vdevice, obj);
+}
Like for the viommu this can all just be folded into the #define
It seems that we have to keep two small functions as followings, unless we want to expose the enum iommufd_object_type.
I'd probably expose the enum along with the struct..
Jason