iommu/mediatek: Cleanup pericfg lookup flow
authorAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Thu, 16 Jun 2022 11:08:30 +0000 (13:08 +0200)
committerJoerg Roedel <jroedel@suse.de>
Thu, 23 Jun 2022 07:39:51 +0000 (09:39 +0200)
Since only the INFRA type IOMMU needs to modify register(s) in the
pericfg iospace, it's safe to drop the pericfg_comp_str NULL check;
also, directly assign the regmap handle to data->pericfg instead of
to the infracfg variable to improve code readability.

Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com>
Link: https://lore.kernel.org/r/20220616110830.26037-6-angelogioacchino.delregno@collabora.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/mtk_iommu.c

index 90685946fcbe30537b1f09006e60d664527b8f59..b2ae84046249a1d75599a089cc810dcf83b2c347 100644 (file)
@@ -1217,15 +1217,13 @@ static int mtk_iommu_probe(struct platform_device *pdev)
                        dev_err(dev, "mm dts parse fail(%d).", ret);
                        goto out_runtime_disable;
                }
-       } else if (MTK_IOMMU_IS_TYPE(data->plat_data, MTK_IOMMU_TYPE_INFRA) &&
-                  data->plat_data->pericfg_comp_str) {
-               infracfg = syscon_regmap_lookup_by_compatible(data->plat_data->pericfg_comp_str);
-               if (IS_ERR(infracfg)) {
-                       ret = PTR_ERR(infracfg);
+       } else if (MTK_IOMMU_IS_TYPE(data->plat_data, MTK_IOMMU_TYPE_INFRA)) {
+               p = data->plat_data->pericfg_comp_str;
+               data->pericfg = syscon_regmap_lookup_by_compatible(p);
+               if (IS_ERR(data->pericfg)) {
+                       ret = PTR_ERR(data->pericfg);
                        goto out_runtime_disable;
                }
-
-               data->pericfg = infracfg;
        }
 
        platform_set_drvdata(pdev, data);