Re: [PATCH] vfio/pds: Using pci_physfn() to fix a compilation issue

From: Alex Williamson
Date: Wed Sep 13 2023 - 14:59:12 EST


On Mon, 11 Sep 2023 09:28:02 -0300
Jason Gunthorpe <jgg@xxxxxxxx> wrote:

> On Mon, Sep 11, 2023 at 08:25:18AM +0000, Tian, Kevin wrote:
> > > From: oushixiong <oushixiong@xxxxxxxxxx>
> > > Sent: Monday, September 11, 2023 4:08 PM
> > >
> > > From: Shixiong Ou <oushixiong@xxxxxxxxxx>
> > >
> > > If PCI_ATS isn't set, then pdev->physfn is not defined.
> > > it causes a compilation issue:
> > >
> > > ../drivers/vfio/pci/pds/vfio_dev.c:165:30: error: ‘struct pci_dev’ has no
> > > member named ‘physfn’; did you mean ‘is_physfn’?
> > > 165 | __func__, pci_dev_id(pdev->physfn), pci_id, vf_id,
> > > | ^~~~~~
> > >
> > > So using pci_physfn() rather than using pdev->physfn directly.
> > >
> > > Signed-off-by: Shixiong Ou <oushixiong@xxxxxxxxxx>
> >
> > Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>
>
> Yes, we should do both patches

Sure, but it's sloppy to put both in with the same commit log. Should
we change this one to something like:

vfio/pds: Use proper PF device access helper

The pci_physfn() helper exists to support cases where the physfn
field may not be compiled into the pci_dev structure. We've
declared this driver dependent on PCI_IOV to avoid this problem,
but regardless we should follow the precedent not to access this
field directly.

Thanks,
Alex