]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
thermal: exynos: Defer probe if vtmu is present but not registered
authorJavier Martinez Canillas <javier@osg.samsung.com>
Thu, 18 Feb 2016 18:19:11 +0000 (15:19 -0300)
committerEduardo Valentin <edubezval@gmail.com>
Tue, 8 Mar 2016 22:22:25 +0000 (14:22 -0800)
The driver doesn't check if the regulator_get_optional return value is
-EPROBE_DEFER so it will wrongly assume that the regulator couldn't be
found just because the regulator driver wasn't registered yet, i.e:

exynos-tmu 10060000.tmu: Regulator node (vtmu) not found

In this case the return value should be propagated to allow the driver
probe function to be deferred until the regulator driver is registered.

Reviewed-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Reviewed-by: Andi Shyti <andi.shyti@samsung.com>
Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
Signed-off-by: Eduardo Valentin <edubezval@gmail.com>
drivers/thermal/samsung/exynos_tmu.c

index f4f36bba7be9b45c6ed2c716169af2fae6d224fe..f3ce94ec73b513595e1297a0a222cd8cb3efa5c3 100644 (file)
@@ -1318,6 +1318,8 @@ static int exynos_tmu_probe(struct platform_device *pdev)
                        return ret;
                }
        } else {
+               if (PTR_ERR(data->regulator) == -EPROBE_DEFER)
+                       return -EPROBE_DEFER;
                dev_info(&pdev->dev, "Regulator node (vtmu) not found\n");
        }