Re: [PATCH v2 06/14] vfio/fsl: Move to the device set infrastructure

Jason Gunthorpe
2021-07-23T12:22:32Z

On Fri, Jul 23, 2021 at 09:44:35AM +0200, Christoph Hellwig wrote:
> On Tue, Jul 20, 2021 at 02:42:52PM -0300, Jason Gunthorpe wrote:
> > .write = vfio_fsl_mc_write,
> > @@ -625,13 +526,15 @@ static int vfio_fsl_mc_probe(struct fsl_mc_device *mc_dev)
> > vdev->mc_dev = mc_dev;
> > mutex_init(&vdev->igate);
> >
> > + ret = vfio_assign_device_set(&vdev->vdev, is_fsl_mc_bus_dprc(mc_dev) ?
> > + &mc_dev->dev :
> > + mc_dev->dev.parent);
>
> A good old if/else would be much cleaner here.

Ok

> But do we even need the else part? Assingning &mc_dev->dev is
> equivalent to the default per-device set anyway, isn't it?

Not quite, the default is this:

if (!device->dev_set)
vfio_assign_device_set(device, device);

Where 'device' is the vfio_device itself, the above is connecting to
the struct fsl_mc_device.

Thanks,
Jason