Message ID | 20200310091229.29830-10-joro@8bytes.org (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | iommu: Move iommu_fwspec out of 'struct device' | expand |
On Tue, Mar 10, 2020 at 10:12:23AM +0100, Joerg Roedel wrote: > From: Joerg Roedel <jroedel@suse.de> > > Make use of dev_iommu_priv_set/get() functions in the code. > > Tested-by: Hanjun Guo <guohanjun@huawei.com> > Signed-off-by: Joerg Roedel <jroedel@suse.de> Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org> > --- > drivers/iommu/arm-smmu-v3.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c > index aa3ac2a03807..2b68498dfb66 100644 > --- a/drivers/iommu/arm-smmu-v3.c > +++ b/drivers/iommu/arm-smmu-v3.c > @@ -2659,7 +2659,7 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) > if (!fwspec) > return -ENOENT; > > - master = fwspec->iommu_priv; > + master = dev_iommu_priv_get(dev); > smmu = master->smmu; > > arm_smmu_detach_dev(master); > @@ -2795,7 +2795,7 @@ static int arm_smmu_add_device(struct device *dev) > if (!fwspec || fwspec->ops != &arm_smmu_ops) > return -ENODEV; > > - if (WARN_ON_ONCE(fwspec->iommu_priv)) > + if (WARN_ON_ONCE(dev_iommu_priv_get(dev))) > return -EBUSY; > > smmu = arm_smmu_get_by_fwnode(fwspec->iommu_fwnode); > @@ -2810,7 +2810,7 @@ static int arm_smmu_add_device(struct device *dev) > master->smmu = smmu; > master->sids = fwspec->ids; > master->num_sids = fwspec->num_ids; > - fwspec->iommu_priv = master; > + dev_iommu_priv_set(dev, master); > > /* Check the SIDs are in range of the SMMU and our stream table */ > for (i = 0; i < master->num_sids; i++) { > @@ -2852,7 +2852,7 @@ static int arm_smmu_add_device(struct device *dev) > iommu_device_unlink(&smmu->iommu, dev); > err_free_master: > kfree(master); > - fwspec->iommu_priv = NULL; > + dev_iommu_priv_set(dev, NULL); > return ret; > } > > @@ -2865,7 +2865,7 @@ static void arm_smmu_remove_device(struct device *dev) > if (!fwspec || fwspec->ops != &arm_smmu_ops) > return; > > - master = fwspec->iommu_priv; > + master = dev_iommu_priv_get(dev); > smmu = master->smmu; > arm_smmu_detach_dev(master); > iommu_group_remove_device(dev); > -- > 2.17.1 >
diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c index aa3ac2a03807..2b68498dfb66 100644 --- a/drivers/iommu/arm-smmu-v3.c +++ b/drivers/iommu/arm-smmu-v3.c @@ -2659,7 +2659,7 @@ static int arm_smmu_attach_dev(struct iommu_domain *domain, struct device *dev) if (!fwspec) return -ENOENT; - master = fwspec->iommu_priv; + master = dev_iommu_priv_get(dev); smmu = master->smmu; arm_smmu_detach_dev(master); @@ -2795,7 +2795,7 @@ static int arm_smmu_add_device(struct device *dev) if (!fwspec || fwspec->ops != &arm_smmu_ops) return -ENODEV; - if (WARN_ON_ONCE(fwspec->iommu_priv)) + if (WARN_ON_ONCE(dev_iommu_priv_get(dev))) return -EBUSY; smmu = arm_smmu_get_by_fwnode(fwspec->iommu_fwnode); @@ -2810,7 +2810,7 @@ static int arm_smmu_add_device(struct device *dev) master->smmu = smmu; master->sids = fwspec->ids; master->num_sids = fwspec->num_ids; - fwspec->iommu_priv = master; + dev_iommu_priv_set(dev, master); /* Check the SIDs are in range of the SMMU and our stream table */ for (i = 0; i < master->num_sids; i++) { @@ -2852,7 +2852,7 @@ static int arm_smmu_add_device(struct device *dev) iommu_device_unlink(&smmu->iommu, dev); err_free_master: kfree(master); - fwspec->iommu_priv = NULL; + dev_iommu_priv_set(dev, NULL); return ret; } @@ -2865,7 +2865,7 @@ static void arm_smmu_remove_device(struct device *dev) if (!fwspec || fwspec->ops != &arm_smmu_ops) return; - master = fwspec->iommu_priv; + master = dev_iommu_priv_get(dev); smmu = master->smmu; arm_smmu_detach_dev(master); iommu_group_remove_device(dev);