On Fri, Oct 04, 2024 at 10:19:43PM -0700, Nicolin Chen wrote: > I tried exposing the struct iommufd_viommu to drivers, and was > able to drop a couple of helpers, except these two: > > struct device *vdev_to_dev(struct iommufd_vdevice *vdev) > { > return vdev ? vdev->idev->dev : NULL; > } // Without it, we need to expose struct iommufd_device. > > struct iommu_domain * > iommufd_viommu_to_parent_domain(struct iommufd_viommu *viommu) > { > if (!viommu || !viommu->hwpt) > return NULL; > return viommu->hwpt->common.domain; > } // Without it, we need to expose struct iommufd_hwpt_page. It seems OK, there isn't really locking entanglements or performance path on this stuff? Jason