]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: pse-pd: pd692x0: Replace __free macro with explicit kfree calls
authorKory Maincent (Dent Project) <kory.maincent@bootlin.com>
Mon, 13 Oct 2025 14:05:31 +0000 (16:05 +0200)
committerJakub Kicinski <kuba@kernel.org>
Thu, 16 Oct 2025 00:50:28 +0000 (17:50 -0700)
Replace __free(kfree) with explicit kfree() calls to follow the net
subsystem policy of avoiding automatic cleanup macros as described in
the documentation.

Signed-off-by: Kory Maincent <kory.maincent@bootlin.com>
Reviewed-by: Simon Horman <horms@kernel.org>
Link: https://patch.msgid.link/20251013-feature_pd692x0_reboot_keep_conf-v2-1-68ab082a93dd@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/pse-pd/pd692x0.c

index f4e91ba64a666c861255ccd72d764637908ec70a..055e925c853ef22f3d405f907a285f4e1b915661 100644 (file)
@@ -1200,9 +1200,9 @@ static void pd692x0_managers_free_pw_budget(struct pd692x0_priv *priv)
 
 static int pd692x0_setup_pi_matrix(struct pse_controller_dev *pcdev)
 {
-       struct pd692x0_manager *manager __free(kfree) = NULL;
        struct pd692x0_priv *priv = to_pd692x0_priv(pcdev);
        struct pd692x0_matrix port_matrix[PD692X0_MAX_PIS];
+       struct pd692x0_manager *manager;
        int ret, nmanagers;
 
        /* Should we flash the port matrix */
@@ -1216,7 +1216,7 @@ static int pd692x0_setup_pi_matrix(struct pse_controller_dev *pcdev)
 
        ret = pd692x0_of_get_managers(priv, manager);
        if (ret < 0)
-               return ret;
+               goto err_free_manager;
 
        nmanagers = ret;
        ret = pd692x0_register_managers_regulator(priv, manager, nmanagers);
@@ -1236,12 +1236,15 @@ static int pd692x0_setup_pi_matrix(struct pse_controller_dev *pcdev)
                goto err_managers_req_pw;
 
        pd692x0_of_put_managers(priv, manager, nmanagers);
+       kfree(manager);
        return 0;
 
 err_managers_req_pw:
        pd692x0_managers_free_pw_budget(priv);
 err_of_managers:
        pd692x0_of_put_managers(priv, manager, nmanagers);
+err_free_manager:
+       kfree(manager);
        return ret;
 }