]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
memory: pl353-smc: simplify with scoped for each OF child loop
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sun, 25 Aug 2024 13:50:01 +0000 (15:50 +0200)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Sat, 31 Aug 2024 05:44:24 +0000 (07:44 +0200)
Use scoped for_each_available_child_of_node_scoped() when iterating over
device nodes to make code a bit simpler.

Suggested-by: Jonathan Cameron <Jonathan.Cameron@Huawei.com>
Reviewed-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/r/20240825135001.48963-2-krzysztof.kozlowski@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
drivers/memory/pl353-smc.c

index 994c7a792e348c83e92b29d58bf30e8d47ae2dbe..28a8cc56003cd951ad46e51d46e40e8ccdca72d7 100644 (file)
@@ -74,7 +74,6 @@ static int pl353_smc_probe(struct amba_device *adev, const struct amba_id *id)
        struct device_node *of_node = adev->dev.of_node;
        const struct of_device_id *match = NULL;
        struct pl353_smc_data *pl353_smc;
-       struct device_node *child;
 
        pl353_smc = devm_kzalloc(&adev->dev, sizeof(*pl353_smc), GFP_KERNEL);
        if (!pl353_smc)
@@ -93,12 +92,13 @@ static int pl353_smc_probe(struct amba_device *adev, const struct amba_id *id)
        amba_set_drvdata(adev, pl353_smc);
 
        /* Find compatible children. Only a single child is supported */
-       for_each_available_child_of_node(of_node, child) {
+       for_each_available_child_of_node_scoped(of_node, child) {
                match = of_match_node(pl353_smc_supported_children, child);
                if (!match) {
                        dev_warn(&adev->dev, "unsupported child node\n");
                        continue;
                }
+               of_platform_device_create(child, NULL, &adev->dev);
                break;
        }
        if (!match) {
@@ -106,9 +106,6 @@ static int pl353_smc_probe(struct amba_device *adev, const struct amba_id *id)
                return -ENODEV;
        }
 
-       of_platform_device_create(child, NULL, &adev->dev);
-       of_node_put(child);
-
        return 0;
 }