]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
irqchip/alpine-msi: Convert to __free
authorThomas Gleixner <tglx@linutronix.de>
Thu, 26 Jun 2025 14:49:06 +0000 (16:49 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 3 Jul 2025 13:49:25 +0000 (15:49 +0200)
Tidy up the code with __free. No functional change.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Nam Cao <namcao@linutronix.de>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lore.kernel.org/all/ff2c9460d03e44cb2946521dbae5ce800d34523e.1750860131.git.namcao@linutronix.de
drivers/irqchip/irq-alpine-msi.c

index cf188e5feefc021aca4036c04f496f2ca1e7f2ef..43d6db290138a2d1984a1d33ddfd2bcc5e8cf538 100644 (file)
@@ -207,11 +207,10 @@ static int alpine_msix_init_domains(struct alpine_msix_data *priv, struct device
 
 static int alpine_msix_init(struct device_node *node, struct device_node *parent)
 {
-       struct alpine_msix_data *priv;
+       struct alpine_msix_data *priv __free(kfree) = kzalloc(sizeof(*priv), GFP_KERNEL);
        struct resource res;
        int ret;
 
-       priv = kzalloc(sizeof(*priv), GFP_KERNEL);
        if (!priv)
                return -ENOMEM;
 
@@ -220,7 +219,7 @@ static int alpine_msix_init(struct device_node *node, struct device_node *parent
        ret = of_address_to_resource(node, 0, &res);
        if (ret) {
                pr_err("Failed to allocate resource\n");
-               goto err_priv;
+               return ret;
        }
 
        /*
@@ -235,34 +234,28 @@ static int alpine_msix_init(struct device_node *node, struct device_node *parent
 
        if (of_property_read_u32(node, "al,msi-base-spi", &priv->spi_first)) {
                pr_err("Unable to parse MSI base\n");
-               ret = -EINVAL;
-               goto err_priv;
+               return -EINVAL;
        }
 
        if (of_property_read_u32(node, "al,msi-num-spis", &priv->num_spis)) {
                pr_err("Unable to parse MSI numbers\n");
-               ret = -EINVAL;
-               goto err_priv;
+               return -EINVAL;
        }
 
-       priv->msi_map = bitmap_zalloc(priv->num_spis, GFP_KERNEL);
-       if (!priv->msi_map) {
-               ret = -ENOMEM;
-               goto err_priv;
-       }
+       unsigned long *msi_map __free(kfree) = bitmap_zalloc(priv->num_spis, GFP_KERNEL);
+
+       if (!msi_map)
+               return -ENOMEM;
+       priv->msi_map = msi_map;
 
        pr_debug("Registering %d msixs, starting at %d\n", priv->num_spis, priv->spi_first);
 
        ret = alpine_msix_init_domains(priv, node);
        if (ret)
-               goto err_map;
+               return ret;
 
+       retain_and_null_ptr(priv);
+       retain_and_null_ptr(msi_map);
        return 0;
-
-err_map:
-       bitmap_free(priv->msi_map);
-err_priv:
-       kfree(priv);
-       return ret;
 }
 IRQCHIP_DECLARE(alpine_msix, "al,alpine-msix", alpine_msix_init);