mfd: mfd-core: Move pdev->mfd_cell creation back into mfd_add_device()
authorLee Jones <lee.jones@linaro.org>
Mon, 21 Oct 2019 09:55:23 +0000 (10:55 +0100)
committerLee Jones <lee.jones@linaro.org>
Mon, 11 Nov 2019 08:45:03 +0000 (08:45 +0000)
Most of the complexity of mfd_platform_add_cell() has been removed. The
only functionality left duplicates cell memory into the child's platform
device. Since it's only a few lines, moving it to the main thread and
removing the superfluous function makes sense.

Signed-off-by: Lee Jones <lee.jones@linaro.org>
Reviewed-by: Daniel Thompson <daniel.thompson@linaro.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
drivers/mfd/mfd-core.c

index 2535dd3605c026084d960bf9a15fe6ee49b6467c..cb3e0a14bbdd919e1951688584a3741b78f2cd39 100644 (file)
@@ -49,19 +49,6 @@ int mfd_cell_disable(struct platform_device *pdev)
 }
 EXPORT_SYMBOL(mfd_cell_disable);
 
-static int mfd_platform_add_cell(struct platform_device *pdev,
-                                const struct mfd_cell *cell)
-{
-       if (!cell)
-               return 0;
-
-       pdev->mfd_cell = kmemdup(cell, sizeof(*cell), GFP_KERNEL);
-       if (!pdev->mfd_cell)
-               return -ENOMEM;
-
-       return 0;
-}
-
 #if IS_ENABLED(CONFIG_ACPI)
 static void mfd_acpi_add_device(const struct mfd_cell *cell,
                                struct platform_device *pdev)
@@ -141,6 +128,10 @@ static int mfd_add_device(struct device *parent, int id,
        if (!pdev)
                goto fail_alloc;
 
+       pdev->mfd_cell = kmemdup(cell, sizeof(*cell), GFP_KERNEL);
+       if (!pdev->mfd_cell)
+               goto fail_device;
+
        res = kcalloc(cell->num_resources, sizeof(*res), GFP_KERNEL);
        if (!res)
                goto fail_device;
@@ -183,10 +174,6 @@ static int mfd_add_device(struct device *parent, int id,
                        goto fail_alias;
        }
 
-       ret = mfd_platform_add_cell(pdev, cell);
-       if (ret)
-               goto fail_alias;
-
        for (r = 0; r < cell->num_resources; r++) {
                res[r].name = cell->resources[r].name;
                res[r].flags = cell->resources[r].flags;