Re: [PATCH v3 01/16] iommufd/viommu: Introduce IOMMUFD_OBJ_VDEVICE and its related struct
From: Jason Gunthorpe
Date: Mon Oct 21 2024 - 08:23:59 EST
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