From: Nicolin Chen nicolinc@nvidia.com Sent: Wednesday, December 4, 2024 6:10 AM
+/* Return 0 if device is not associated to the vIOMMU */ +unsigned long iommufd_viommu_get_vdev_id(struct iommufd_viommu *viommu,
struct device *dev)
+{
- struct iommufd_vdevice *vdev;
- unsigned long vdev_id = 0;
- unsigned long index;
- xa_lock(&viommu->vdevs);
- xa_for_each(&viommu->vdevs, index, vdev) {
if (vdev && vdev->dev == dev)
xa_for_each only find valid entries, so if (vdev) is redundant?
vdev_id = (unsigned long)vdev->id;
break out of the loop if hit.
- }
- xa_unlock(&viommu->vdevs);
- return vdev_id;
+} +EXPORT_SYMBOL_NS_GPL(iommufd_viommu_get_vdev_id, IOMMUFD);
MODULE_DESCRIPTION("iommufd code shared with builtin modules"); MODULE_LICENSE("GPL"); -- 2.43.0