Message ID | 0-v3-4adf6c1b8e7c+170-vfio_get_from_dev_jgg@nvidia.com (mailing list archive) |
---|---|
Headers | show |
Series | Remove vfio_device_get_from_dev() | expand |
On Wed, May 04, 2022 at 04:01:46PM -0300, Jason Gunthorpe wrote: > Use drvdata instead of searching to find the struct vfio_device for the > pci_driver callbacks. > > This applies on top of the gvt series and at least rc3 - there are no > conflicts with the mdev vfio_group series, or the iommu series. > > v2: > - Directly access the drvdata from vfio_pci_core by making drvdata always > point to the core struct. This will help later patches adding PM > callbacks as well. > v1: https://lore.kernel.org/r/0-v2-0f36bcf6ec1e+64d-vfio_get_from_dev_jgg@nvidia.com Hum, I fumbled this a bit when extracting the old version. It is rebased on the wrong thing, and this is indeed v3. Alex, I can resend it, or if you want to take it then this hunk from v2 is needed to put it on top of the mdev group removal series: @@ -444,21 +444,6 @@ static void vfio_group_get(struct vfio_group *group) refcount_inc(&group->users); } -static struct vfio_group *vfio_group_get_from_dev(struct device *dev) -{ - struct iommu_group *iommu_group; - struct vfio_group *group; - - iommu_group = iommu_group_get(dev); - if (!iommu_group) - return NULL; - - group = vfio_group_get_from_iommu(iommu_group); - iommu_group_put(iommu_group); - - return group; -} - /* * Device objects - create, release, get, put, search */ Sorry, Jason
Use drvdata instead of searching to find the struct vfio_device for the pci_driver callbacks. This applies on top of the gvt series and at least rc3 - there are no conflicts with the mdev vfio_group series, or the iommu series. v2: - Directly access the drvdata from vfio_pci_core by making drvdata always point to the core struct. This will help later patches adding PM callbacks as well. v1: https://lore.kernel.org/r/0-v2-0f36bcf6ec1e+64d-vfio_get_from_dev_jgg@nvidia.com Cc: Abhishek Sahu <abhsahu@nvidia.com> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com> Jason Gunthorpe (2): vfio/pci: Have all VFIO PCI drivers store the vfio_pci_core_device in drvdata vfio/pci: Remove vfio_device_get_from_dev() .../vfio/pci/hisilicon/hisi_acc_vfio_pci.c | 14 ++++++-- drivers/vfio/pci/mlx5/main.c | 14 ++++++-- drivers/vfio/pci/vfio_pci.c | 4 ++- drivers/vfio/pci/vfio_pci_core.c | 36 ++++++------------- drivers/vfio/vfio.c | 26 +------------- include/linux/vfio.h | 2 -- include/linux/vfio_pci_core.h | 3 +- 7 files changed, 38 insertions(+), 61 deletions(-) base-commit: 758f579843974e9603191d2d77589af98001e3b3