@@ -466,7 +466,7 @@ static int viommu_probe_endpoint(struct viommu_dev *viommu, struct device *dev)
466
466
struct virtio_iommu_req_probe * probe ;
467
467
struct virtio_iommu_probe_property * prop ;
468
468
struct iommu_fwspec * fwspec = dev_iommu_fwspec_get (dev );
469
- struct viommu_endpoint * vdev = fwspec -> iommu_priv ;
469
+ struct viommu_endpoint * vdev = dev_iommu_priv_get ( dev ) ;
470
470
471
471
if (!fwspec -> num_ids )
472
472
return - EINVAL ;
@@ -648,7 +648,7 @@ static int viommu_attach_dev(struct iommu_domain *domain, struct device *dev)
648
648
int ret = 0 ;
649
649
struct virtio_iommu_req_attach req ;
650
650
struct iommu_fwspec * fwspec = dev_iommu_fwspec_get (dev );
651
- struct viommu_endpoint * vdev = fwspec -> iommu_priv ;
651
+ struct viommu_endpoint * vdev = dev_iommu_priv_get ( dev ) ;
652
652
struct viommu_domain * vdomain = to_viommu_domain (domain );
653
653
654
654
mutex_lock (& vdomain -> mutex );
@@ -807,8 +807,7 @@ static void viommu_iotlb_sync(struct iommu_domain *domain,
807
807
static void viommu_get_resv_regions (struct device * dev , struct list_head * head )
808
808
{
809
809
struct iommu_resv_region * entry , * new_entry , * msi = NULL ;
810
- struct iommu_fwspec * fwspec = dev_iommu_fwspec_get (dev );
811
- struct viommu_endpoint * vdev = fwspec -> iommu_priv ;
810
+ struct viommu_endpoint * vdev = dev_iommu_priv_get (dev );
812
811
int prot = IOMMU_WRITE | IOMMU_NOEXEC | IOMMU_MMIO ;
813
812
814
813
list_for_each_entry (entry , & vdev -> resv_regions , list ) {
@@ -876,7 +875,7 @@ static int viommu_add_device(struct device *dev)
876
875
vdev -> dev = dev ;
877
876
vdev -> viommu = viommu ;
878
877
INIT_LIST_HEAD (& vdev -> resv_regions );
879
- fwspec -> iommu_priv = vdev ;
878
+ dev_iommu_priv_set ( dev , vdev ) ;
880
879
881
880
if (viommu -> probe_size ) {
882
881
/* Get additional information for this endpoint */
@@ -920,7 +919,7 @@ static void viommu_remove_device(struct device *dev)
920
919
if (!fwspec || fwspec -> ops != & viommu_ops )
921
920
return ;
922
921
923
- vdev = fwspec -> iommu_priv ;
922
+ vdev = dev_iommu_priv_get ( dev ) ;
924
923
925
924
iommu_group_remove_device (dev );
926
925
iommu_device_unlink (& vdev -> viommu -> iommu , dev );
0 commit comments