diff options
author | Javier Martinez Canillas <javier@osg.samsung.com> | 2016-02-18 21:19:11 +0300 |
---|---|---|
committer | Eduardo Valentin <edubezval@gmail.com> | 2016-03-09 01:22:25 +0300 |
commit | ccb361d2fdda8975c8bbc8a1749c31dbd62dd276 (patch) | |
tree | 714d028ac8a02ed9fd0772ca71f4b2b5f2e5b8c1 /drivers/thermal | |
parent | 4d3583cd1cb1a51825f195b2cfe8b855827803eb (diff) | |
download | linux-ccb361d2fdda8975c8bbc8a1749c31dbd62dd276.tar.xz |
thermal: exynos: Defer probe if vtmu is present but not registered
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>
Diffstat (limited to 'drivers/thermal')
-rw-r--r-- | drivers/thermal/samsung/exynos_tmu.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/thermal/samsung/exynos_tmu.c b/drivers/thermal/samsung/exynos_tmu.c index f4f36bba7be9..f3ce94ec73b5 100644 --- a/drivers/thermal/samsung/exynos_tmu.c +++ b/drivers/thermal/samsung/exynos_tmu.c @@ -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"); } |