Re: [PATCH] iommu: Use of_property_present() for testing DT property presence

From: Robin Murphy
Date: Fri Mar 10 2023 - 11:30:18 EST


On 2023-03-10 14:47, Rob Herring wrote:
It is preferred to use typed property access functions (i.e.
of_property_read_<type> functions) rather than low-level
of_get_property/of_find_property functions for reading properties. As
part of this, convert of_get_property/of_find_property calls to the
recently added of_property_present() helper when we just want to test
for presence of a property and nothing more.

Oh, neat!

Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
---
drivers/iommu/arm/arm-smmu/arm-smmu.c | 2 +-
drivers/iommu/ipmmu-vmsa.c | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c b/drivers/iommu/arm/arm-smmu/arm-smmu.c
index 2ff7a72cf377..d0843caf8760 100644
--- a/drivers/iommu/arm/arm-smmu/arm-smmu.c
+++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c
@@ -139,7 +139,7 @@ static int arm_smmu_register_legacy_master(struct device *dev,
int err;
np = dev_get_dev_node(dev);
- if (!np || !of_find_property(np, "#stream-id-cells", NULL)) {
+ if (!np || !of_property_present(np, "#stream-id-cells")) {
of_node_put(np);
return -ENODEV;
}
diff --git a/drivers/iommu/ipmmu-vmsa.c b/drivers/iommu/ipmmu-vmsa.c
index bdf1a4e5eae0..f4470303d906 100644
--- a/drivers/iommu/ipmmu-vmsa.c
+++ b/drivers/iommu/ipmmu-vmsa.c
@@ -1014,7 +1014,7 @@ static int ipmmu_probe(struct platform_device *pdev)
* the lack of has_cache_leaf_nodes flag or renesas,ipmmu-main property.
*/
if (!mmu->features->has_cache_leaf_nodes ||
- !of_find_property(pdev->dev.of_node, "renesas,ipmmu-main", NULL))
+ !of_property_present(pdev->dev.of_node, "renesas,ipmmu-main"))

On reflection, weird that this works the way it does instead of actually following the phandle, but oh well. Definitely beyond the scope of this cleanup :)

Reviewed-by: Robin Murphy <robin.murphy@xxxxxxx>

mmu->root = mmu;
else
mmu->root = ipmmu_find_root();