diff options
author | Javier Martinez Canillas <javier@osg.samsung.com> | 2016-02-18 13:19:11 -0500 |
---|---|---|
committer | Eduardo Valentin <edubezval@gmail.com> | 2016-03-08 17:22:25 -0500 |
commit | ccb361d2fdda8975c8bbc8a1749c31dbd62dd276 (patch) | |
tree | 714d028ac8a02ed9fd0772ca71f4b2b5f2e5b8c1 | |
parent | 4d3583cd1cb1a51825f195b2cfe8b855827803eb (diff) |
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>
-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) | |||
1318 | return ret; | 1318 | return ret; |
1319 | } | 1319 | } |
1320 | } else { | 1320 | } else { |
1321 | if (PTR_ERR(data->regulator) == -EPROBE_DEFER) | ||
1322 | return -EPROBE_DEFER; | ||
1321 | dev_info(&pdev->dev, "Regulator node (vtmu) not found\n"); | 1323 | dev_info(&pdev->dev, "Regulator node (vtmu) not found\n"); |
1322 | } | 1324 | } |
1323 | 1325 | ||