]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
dmaengine: acpi: Simplify devm_acpi_dma_controller_register()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 7 Oct 2024 15:03:24 +0000 (18:03 +0300)
committerVinod Koul <vkoul@kernel.org>
Mon, 14 Oct 2024 17:57:57 +0000 (23:27 +0530)
Use devm_add_action_or_reset() instead of devres_alloc() and
devres_add(), which works the same. This will simplify the
code. There is no functional changes.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20241007150436.2183575-3-andriy.shevchenko@linux.intel.com
Signed-off-by: Vinod Koul <vkoul@kernel.org>
drivers/dma/acpi-dma.c

index d5beb96ef510b55c0581e6eb2261f2140154d1b8..f594ea265c76d071864cc8419ab5f93e0dfb2ebb 100644 (file)
@@ -236,7 +236,7 @@ int acpi_dma_controller_free(struct device *dev)
 }
 EXPORT_SYMBOL_GPL(acpi_dma_controller_free);
 
-static void devm_acpi_dma_release(struct device *dev, void *res)
+static void devm_acpi_dma_free(void *dev)
 {
        acpi_dma_controller_free(dev);
 }
@@ -259,20 +259,13 @@ int devm_acpi_dma_controller_register(struct device *dev,
                (struct acpi_dma_spec *, struct acpi_dma *),
                void *data)
 {
-       void *res;
        int ret;
 
-       res = devres_alloc(devm_acpi_dma_release, 0, GFP_KERNEL);
-       if (!res)
-               return -ENOMEM;
-
        ret = acpi_dma_controller_register(dev, acpi_dma_xlate, data);
-       if (ret) {
-               devres_free(res);
+       if (ret)
                return ret;
-       }
-       devres_add(dev, res);
-       return 0;
+
+       return devm_add_action_or_reset(dev, devm_acpi_dma_free, dev);
 }
 EXPORT_SYMBOL_GPL(devm_acpi_dma_controller_register);