firmware: exynos-acpm: silence EPROBE_DEFER error on boot
authorAndré Draszik <andre.draszik@linaro.org>
Wed, 19 Mar 2025 05:38:24 +0000 (05:38 +0000)
committerKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Tue, 22 Apr 2025 07:48:31 +0000 (09:48 +0200)
This driver emits error messages when client drivers are trying to get
an interface handle to this driver here before this driver has
completed _probe().

Given this driver returns -EPROBE_DEFER in that case, this is not an
error and shouldn't be emitted to the log, similar to how
dev_err_probe() behaves, so just remove them.

This change also allows us to simplify the logic around releasing of
the acpm_np handle.

Fixes: a88927b534ba ("firmware: add Exynos ACPM protocol driver")
Signed-off-by: André Draszik <andre.draszik@linaro.org>
Link: https://lore.kernel.org/r/20250319-acpm-fixes-v2-2-ac2c1bcf322b@linaro.org
Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
drivers/firmware/samsung/exynos-acpm.c

index 379da42..d1c9ca0 100644 (file)
@@ -680,24 +680,17 @@ static const struct acpm_handle *acpm_get_by_phandle(struct device *dev,
                return ERR_PTR(-ENODEV);
 
        pdev = of_find_device_by_node(acpm_np);
-       if (!pdev) {
-               dev_err(dev, "Cannot find device node %s\n", acpm_np->name);
-               of_node_put(acpm_np);
-               return ERR_PTR(-EPROBE_DEFER);
-       }
-
        of_node_put(acpm_np);
+       if (!pdev)
+               return ERR_PTR(-EPROBE_DEFER);
 
        acpm = platform_get_drvdata(pdev);
        if (!acpm) {
-               dev_err(dev, "Cannot get drvdata from %s\n",
-                       dev_name(&pdev->dev));
                platform_device_put(pdev);
                return ERR_PTR(-EPROBE_DEFER);
        }
 
        if (!try_module_get(pdev->dev.driver->owner)) {
-               dev_err(dev, "Cannot get module reference.\n");
                platform_device_put(pdev);
                return ERR_PTR(-EPROBE_DEFER);
        }