On Tue, Oct 8, 2024 at 5:54 AM Bibek Kumar Patro <quic_bibekkum@xxxxxxxxxxx> wrote: > > qcom_smmu_match_data is static and constant so refactor qcom_smmu > to store single pointer to qcom_smmu_match_data instead of > replicating multiple child members of the same and handle the further > dereferences in the places that want them. > > Suggested-by: Robin Murphy <robin.murphy@xxxxxxx> > Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@xxxxxxxxxx> Reviewed-by: Rob Clark <robdclark@xxxxxxxxx> > Signed-off-by: Bibek Kumar Patro <quic_bibekkum@xxxxxxxxxxx> > --- > drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c | 2 +- > drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c | 2 +- > drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h | 2 +- > 3 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c > index 548783f3f8e8..d03b2239baad 100644 > --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c > +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom-debug.c > @@ -73,7 +73,7 @@ void qcom_smmu_tlb_sync_debug(struct arm_smmu_device *smmu) > if (__ratelimit(&rs)) { > dev_err(smmu->dev, "TLB sync timed out -- SMMU may be deadlocked\n"); > > - cfg = qsmmu->cfg; > + cfg = qsmmu->data->cfg; > if (!cfg) > return; > > diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c > index 0cb10b354802..6e0a2a43e45a 100644 > --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c > +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.c > @@ -534,7 +534,7 @@ static struct arm_smmu_device *qcom_smmu_create(struct arm_smmu_device *smmu, > return ERR_PTR(-ENOMEM); > > qsmmu->smmu.impl = impl; > - qsmmu->cfg = data->cfg; > + qsmmu->data = data; > > return &qsmmu->smmu; > } > diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h > index 3c134d1a6277..b55cd3e3ae48 100644 > --- a/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h > +++ b/drivers/iommu/arm/arm-smmu/arm-smmu-qcom.h > @@ -8,7 +8,7 @@ > > struct qcom_smmu { > struct arm_smmu_device smmu; > - const struct qcom_smmu_config *cfg; > + const struct qcom_smmu_match_data *data; > bool bypass_quirk; > u8 bypass_cbndx; > u32 stall_enabled; > -- > 2.34.1 >