diff mbox series

perf: arm_pmu: Use of_property_present()

Message ID 20240731191312.1710417-15-robh@kernel.org (mailing list archive)
State New, archived
Headers show
Series perf: arm_pmu: Use of_property_present() | expand

Commit Message

Rob Herring (Arm) July 31, 2024, 7:12 p.m. UTC
Use of_property_present() to test for property presence rather than
of_find_property(). This is part of a larger effort to remove callers
of of_find_property() and similar functions. of_find_property() leaks
the DT struct property and data pointers which is a problem for
dynamically allocated nodes which may be freed.

Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
 drivers/perf/arm_pmu_platform.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Anshuman Khandual Aug. 1, 2024, 11:11 a.m. UTC | #1
On 8/1/24 00:42, Rob Herring (Arm) wrote:
> Use of_property_present() to test for property presence rather than
> of_find_property(). This is part of a larger effort to remove callers
> of of_find_property() and similar functions. of_find_property() leaks
> the DT struct property and data pointers which is a problem for
> dynamically allocated nodes which may be freed.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
>  drivers/perf/arm_pmu_platform.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/perf/arm_pmu_platform.c b/drivers/perf/arm_pmu_platform.c
> index 4b1a9a92ea11..118170a5cede 100644
> --- a/drivers/perf/arm_pmu_platform.c
> +++ b/drivers/perf/arm_pmu_platform.c
> @@ -59,7 +59,7 @@ static int pmu_parse_percpu_irq(struct arm_pmu *pmu, int irq)
>  
>  static bool pmu_has_irq_affinity(struct device_node *node)
>  {
> -	return !!of_find_property(node, "interrupt-affinity", NULL);
> +	return of_property_present(node, "interrupt-affinity");
>  }
>  
>  static int pmu_parse_irq_affinity(struct device *dev, int i)

After this change there are no of_find_property() instances left
in the drivers/perf directory.

Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Mark Rutland Aug. 3, 2024, 11:02 a.m. UTC | #2
On Wed, Jul 31, 2024 at 01:12:53PM -0600, Rob Herring (Arm) wrote:
> Use of_property_present() to test for property presence rather than
> of_find_property(). This is part of a larger effort to remove callers
> of of_find_property() and similar functions. of_find_property() leaks
> the DT struct property and data pointers which is a problem for
> dynamically allocated nodes which may be freed.
> 
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>

Acked-by: Mark Rutland <mark.rutland@arm.com>

I assume Will will pick this up.

Mark.

> ---
>  drivers/perf/arm_pmu_platform.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/perf/arm_pmu_platform.c b/drivers/perf/arm_pmu_platform.c
> index 4b1a9a92ea11..118170a5cede 100644
> --- a/drivers/perf/arm_pmu_platform.c
> +++ b/drivers/perf/arm_pmu_platform.c
> @@ -59,7 +59,7 @@ static int pmu_parse_percpu_irq(struct arm_pmu *pmu, int irq)
>  
>  static bool pmu_has_irq_affinity(struct device_node *node)
>  {
> -	return !!of_find_property(node, "interrupt-affinity", NULL);
> +	return of_property_present(node, "interrupt-affinity");
>  }
>  
>  static int pmu_parse_irq_affinity(struct device *dev, int i)
> -- 
> 2.43.0
>
Will Deacon Aug. 16, 2024, 3:15 p.m. UTC | #3
On Wed, 31 Jul 2024 13:12:53 -0600, Rob Herring (Arm) wrote:
> Use of_property_present() to test for property presence rather than
> of_find_property(). This is part of a larger effort to remove callers
> of of_find_property() and similar functions. of_find_property() leaks
> the DT struct property and data pointers which is a problem for
> dynamically allocated nodes which may be freed.
> 
> 
> [...]

Applied to will (for-next/perf), thanks!

[1/1] perf: arm_pmu: Use of_property_present()
      https://git.kernel.org/will/c/48b035121a56

Cheers,
diff mbox series

Patch

diff --git a/drivers/perf/arm_pmu_platform.c b/drivers/perf/arm_pmu_platform.c
index 4b1a9a92ea11..118170a5cede 100644
--- a/drivers/perf/arm_pmu_platform.c
+++ b/drivers/perf/arm_pmu_platform.c
@@ -59,7 +59,7 @@  static int pmu_parse_percpu_irq(struct arm_pmu *pmu, int irq)
 
 static bool pmu_has_irq_affinity(struct device_node *node)
 {
-	return !!of_find_property(node, "interrupt-affinity", NULL);
+	return of_property_present(node, "interrupt-affinity");
 }
 
 static int pmu_parse_irq_affinity(struct device *dev, int i)