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

Robin Murphy robin.murphy at arm.com
Fri Mar 10 08:17:30 PST 2023


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 at kernel.org>
> ---
>   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 at arm.com>

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



More information about the linux-arm-kernel mailing list