]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
pmdomain: core: Use of_fwnode_handle()
authorUlf Hansson <ulf.hansson@linaro.org>
Fri, 23 May 2025 13:39:58 +0000 (15:39 +0200)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 25 Jun 2025 09:45:42 +0000 (11:45 +0200)
Let's avoid accessing the np->fwnode directly and use the common helper
of_fwnode_handle() instead.

Suggested-by: Saravana Kannan <saravanak@google.com>
Reviewed-by: Dhruva Gole <d-gole@ti.com>
Tested-by: Hiago De Franco <hiago.franco@toradex.com> # Colibri iMX8X
Tested-by: Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Link: https://lore.kernel.org/r/20250523134025.75130-2-ulf.hansson@linaro.org
drivers/pmdomain/core.c

index ff5c7f2b69ce4cc8bc46e4863d66c10d30e591e3..9a66b728fbbf4a1bee80678742a9c6d152fca73c 100644 (file)
@@ -2557,7 +2557,7 @@ static int genpd_add_provider(struct device_node *np, genpd_xlate_t xlate,
        cp->node = of_node_get(np);
        cp->data = data;
        cp->xlate = xlate;
-       fwnode_dev_initialized(&np->fwnode, true);
+       fwnode_dev_initialized(of_fwnode_handle(np), true);
 
        mutex_lock(&of_genpd_mutex);
        list_add(&cp->link, &of_genpd_providers);
@@ -2727,7 +2727,7 @@ void of_genpd_del_provider(struct device_node *np)
                         * so that the PM domain can be safely removed.
                         */
                        list_for_each_entry(gpd, &gpd_list, gpd_list_node) {
-                               if (gpd->provider == &np->fwnode) {
+                               if (gpd->provider == of_fwnode_handle(np)) {
                                        gpd->has_provider = false;
 
                                        if (gpd->opp_table) {
@@ -2737,7 +2737,7 @@ void of_genpd_del_provider(struct device_node *np)
                                }
                        }
 
-                       fwnode_dev_initialized(&cp->node->fwnode, false);
+                       fwnode_dev_initialized(of_fwnode_handle(cp->node), false);
                        list_del(&cp->link);
                        of_node_put(cp->node);
                        kfree(cp);
@@ -2916,7 +2916,7 @@ struct generic_pm_domain *of_genpd_remove_last(struct device_node *np)
 
        mutex_lock(&gpd_list_lock);
        list_for_each_entry_safe(gpd, tmp, &gpd_list, gpd_list_node) {
-               if (gpd->provider == &np->fwnode) {
+               if (gpd->provider == of_fwnode_handle(np)) {
                        ret = genpd_remove(gpd);
                        genpd = ret ? ERR_PTR(ret) : gpd;
                        break;
@@ -3269,7 +3269,7 @@ static int genpd_parse_state(struct genpd_power_state *genpd_state,
 
        genpd_state->power_on_latency_ns = 1000LL * exit_latency;
        genpd_state->power_off_latency_ns = 1000LL * entry_latency;
-       genpd_state->fwnode = &state_node->fwnode;
+       genpd_state->fwnode = of_fwnode_handle(state_node);
 
        return 0;
 }