This patch changes in struct tegra_smmu_group to use swgrp pointer instead of swgroup, as a preparational change for the "mappings" debugfs feature. Acked-by: Thierry Reding <treding@xxxxxxxxxx> Signed-off-by: Nicolin Chen <nicolinc@xxxxxxxxxx> --- drivers/iommu/tegra-smmu.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c index 05a386036fce..532c843eb631 100644 --- a/drivers/iommu/tegra-smmu.c +++ b/drivers/iommu/tegra-smmu.c @@ -24,8 +24,8 @@ struct tegra_smmu_group { struct list_head list; struct tegra_smmu *smmu; const struct tegra_smmu_group_soc *soc; + const struct tegra_smmu_swgroup *swgrp; struct iommu_group *grp; - unsigned int swgroup; }; struct tegra_smmu { @@ -899,18 +899,22 @@ static struct iommu_group *tegra_smmu_device_group(struct device *dev) struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); struct tegra_smmu *smmu = dev_iommu_priv_get(dev); const struct tegra_smmu_group_soc *soc; + const struct tegra_smmu_swgroup *swgrp; unsigned int swgroup = fwspec->ids[0]; struct tegra_smmu_group *group; struct iommu_group *grp; + /* Find swgrp according to the swgroup id */ + swgrp = tegra_smmu_find_swgrp(smmu, swgroup); + /* Find group_soc associating with swgroup */ soc = tegra_smmu_find_group_soc(smmu, swgroup); mutex_lock(&smmu->lock); - /* Find existing iommu_group associating with swgroup or group_soc */ + /* Find existing iommu_group associating with swgrp or group_soc */ list_for_each_entry(group, &smmu->groups, list) - if ((group->swgroup == swgroup) || (soc && group->soc == soc)) { + if ((swgrp && group->swgrp == swgrp) || (soc && group->soc == soc)) { grp = iommu_group_ref_get(group->grp); mutex_unlock(&smmu->lock); return grp; @@ -923,7 +927,7 @@ static struct iommu_group *tegra_smmu_device_group(struct device *dev) } INIT_LIST_HEAD(&group->list); - group->swgroup = swgroup; + group->swgrp = swgrp; group->smmu = smmu; group->soc = soc; -- 2.17.1