Re: [PATCH 09/15] iommu/arm-smmu-v3: Use accessor functions for iommu private data
From: Jean-Philippe Brucker
Date: Mon Mar 16 2020 - 11:50:01 EST
On Tue, Mar 10, 2020 at 10:12:23AM +0100, Joerg Roedel wrote:
> From: Joerg Roedel <jroedel@xxxxxxx>
>
> Make use of dev_iommu_priv_set/get() functions in the code.
>
> Tested-by: Hanjun Guo <guohanjun@xxxxxxxxxx>
> Signed-off-by: Joerg Roedel <jroedel@xxxxxxx>
Reviewed-by: Jean-Philippe Brucker <jean-philippe@xxxxxxxxxx>
> ---
> 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
>