On Fri,  2 Jun 2023 05:16:51 -0700
Yi Liu <[email protected]> wrote:

> This converts noiommu test to use vfio_device->noiommu flag. Per this
> change, vfio_device_is_noiommu() is removed.
> 
> Signed-off-by: Yi Liu <[email protected]>
> ---
>  drivers/vfio/group.c   | 2 +-
>  drivers/vfio/iommufd.c | 4 ++--
>  drivers/vfio/vfio.h    | 9 ++-------
>  3 files changed, 5 insertions(+), 10 deletions(-)

Drop this as well.  You can see here all the code paths that wouldn't
have even been compiled with CONFIG_VFIO_NOIOMMU unset.  Thanks,

Alex
 
> diff --git a/drivers/vfio/group.c b/drivers/vfio/group.c
> index 64cdd0ea8825..08d37811507e 100644
> --- a/drivers/vfio/group.c
> +++ b/drivers/vfio/group.c
> @@ -191,7 +191,7 @@ static int vfio_df_group_open(struct vfio_device_file *df)
>               vfio_device_group_get_kvm_safe(device);
>  
>       df->iommufd = device->group->iommufd;
> -     if (df->iommufd && vfio_device_is_noiommu(device) && device->open_count 
> == 0) {
> +     if (df->iommufd && device->noiommu && device->open_count == 0) {
>               /*
>                * Require no compat ioas to be assigned to proceed.  The basic
>                * statement is that the user cannot have done something that
> diff --git a/drivers/vfio/iommufd.c b/drivers/vfio/iommufd.c
> index a59ed4f881aa..fac8ca74ec85 100644
> --- a/drivers/vfio/iommufd.c
> +++ b/drivers/vfio/iommufd.c
> @@ -37,7 +37,7 @@ int vfio_iommufd_compat_attach_ioas(struct vfio_device 
> *vdev,
>       lockdep_assert_held(&vdev->dev_set->lock);
>  
>       /* compat noiommu does not need to do ioas attach */
> -     if (vfio_device_is_noiommu(vdev))
> +     if (vdev->noiommu)
>               return 0;
>  
>       ret = iommufd_vfio_compat_ioas_get_id(ictx, &ioas_id);
> @@ -54,7 +54,7 @@ void vfio_df_iommufd_unbind(struct vfio_device_file *df)
>  
>       lockdep_assert_held(&vdev->dev_set->lock);
>  
> -     if (vfio_device_is_noiommu(vdev))
> +     if (vdev->noiommu)
>               return;
>  
>       if (vdev->ops->unbind_iommufd)
> diff --git a/drivers/vfio/vfio.h b/drivers/vfio/vfio.h
> index 1b89e8bc8571..b138b8334fe0 100644
> --- a/drivers/vfio/vfio.h
> +++ b/drivers/vfio/vfio.h
> @@ -106,11 +106,6 @@ bool vfio_device_has_container(struct vfio_device 
> *device);
>  int __init vfio_group_init(void);
>  void vfio_group_cleanup(void);
>  
> -static inline bool vfio_device_is_noiommu(struct vfio_device *vdev)
> -{
> -     return vdev->group->type == VFIO_NO_IOMMU;
> -}
> -
>  #if IS_ENABLED(CONFIG_VFIO_CONTAINER)
>  /**
>   * struct vfio_iommu_driver_ops - VFIO IOMMU driver callbacks
> @@ -271,7 +266,7 @@ void vfio_init_device_cdev(struct vfio_device *device);
>  static inline int vfio_device_add(struct vfio_device *device)
>  {
>       /* cdev does not support noiommu device */
> -     if (vfio_device_is_noiommu(device))
> +     if (device->noiommu)
>               return device_add(&device->device);
>       vfio_init_device_cdev(device);
>       return cdev_device_add(&device->cdev, &device->device);
> @@ -279,7 +274,7 @@ static inline int vfio_device_add(struct vfio_device 
> *device)
>  
>  static inline void vfio_device_del(struct vfio_device *device)
>  {
> -     if (vfio_device_is_noiommu(device))
> +     if (device->noiommu)
>               device_del(&device->device);
>       else
>               cdev_device_del(&device->cdev, &device->device);

Reply via email to