[PATCH v2 09/11] powercap: dtpm: Simplify with of_machine_get_match_data()

Krzysztof Kozlowski posted 11 patches 1 month, 1 week ago
[PATCH v2 09/11] powercap: dtpm: Simplify with of_machine_get_match_data()
Posted by Krzysztof Kozlowski 1 month, 1 week ago
Replace open-coded getting root OF node, matching against it and getting
the match data with new of_machine_get_match_data() helper.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>

---

Depends on the first OF patch.
---
 drivers/powercap/dtpm.c | 16 +---------------
 1 file changed, 1 insertion(+), 15 deletions(-)

diff --git a/drivers/powercap/dtpm.c b/drivers/powercap/dtpm.c
index f390665743c4..129d55bc705c 100644
--- a/drivers/powercap/dtpm.c
+++ b/drivers/powercap/dtpm.c
@@ -548,9 +548,7 @@ static int dtpm_for_each_child(const struct dtpm_node *hierarchy,
  */
 int dtpm_create_hierarchy(struct of_device_id *dtpm_match_table)
 {
-	const struct of_device_id *match;
 	const struct dtpm_node *hierarchy;
-	struct device_node *np;
 	int i, ret;
 
 	mutex_lock(&dtpm_lock);
@@ -567,19 +565,7 @@ int dtpm_create_hierarchy(struct of_device_id *dtpm_match_table)
 		goto out_pct;
 	}
 
-	ret = -ENODEV;
-	np = of_find_node_by_path("/");
-	if (!np)
-		goto out_err;
-
-	match = of_match_node(dtpm_match_table, np);
-
-	of_node_put(np);
-
-	if (!match)
-		goto out_err;
-
-	hierarchy = match->data;
+	hierarchy = of_machine_get_match_data(dtpm_match_table);
 	if (!hierarchy) {
 		ret = -EFAULT;
 		goto out_err;

-- 
2.48.1
Re: [PATCH v2 09/11] powercap: dtpm: Simplify with of_machine_get_match_data()
Posted by Lukasz Luba 1 month ago

On 11/12/25 10:28, Krzysztof Kozlowski wrote:
> Replace open-coded getting root OF node, matching against it and getting
> the match data with new of_machine_get_match_data() helper.
> 
> Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
> 
> ---
> 
> Depends on the first OF patch.
> ---
>   drivers/powercap/dtpm.c | 16 +---------------
>   1 file changed, 1 insertion(+), 15 deletions(-)
> 
> diff --git a/drivers/powercap/dtpm.c b/drivers/powercap/dtpm.c
> index f390665743c4..129d55bc705c 100644
> --- a/drivers/powercap/dtpm.c
> +++ b/drivers/powercap/dtpm.c
> @@ -548,9 +548,7 @@ static int dtpm_for_each_child(const struct dtpm_node *hierarchy,
>    */
>   int dtpm_create_hierarchy(struct of_device_id *dtpm_match_table)
>   {
> -	const struct of_device_id *match;
>   	const struct dtpm_node *hierarchy;
> -	struct device_node *np;
>   	int i, ret;
>   
>   	mutex_lock(&dtpm_lock);
> @@ -567,19 +565,7 @@ int dtpm_create_hierarchy(struct of_device_id *dtpm_match_table)
>   		goto out_pct;
>   	}
>   
> -	ret = -ENODEV;
> -	np = of_find_node_by_path("/");
> -	if (!np)
> -		goto out_err;
> -
> -	match = of_match_node(dtpm_match_table, np);
> -
> -	of_node_put(np);
> -
> -	if (!match)
> -		goto out_err;
> -
> -	hierarchy = match->data;
> +	hierarchy = of_machine_get_match_data(dtpm_match_table);
>   	if (!hierarchy) {
>   		ret = -EFAULT;
>   		goto out_err;
> 

I don't know if Daniel had a chance to look at it, but I can help him.

The patch looks OK.

The extra return error value which is removed doesn't harm the client of
this function in other subsystem.

Reviewed-by: Lukasz Luba <lukasz.luba@arm.com>