diff options
author | Krzysztof Kozlowski <krzk@kernel.org> | 2017-06-16 21:28:06 +0200 |
---|---|---|
committer | Alexandre Belloni <alexandre.belloni@free-electrons.com> | 2017-06-24 22:52:40 +0200 |
commit | 9903f68af6ca9d9b25f5c50bfedd2e0cb899f848 (patch) | |
tree | 4d3300a98d6d8dba4e8c84e161461b645645c815 /drivers/rtc | |
parent | 6b72086d8594febb9e9d63cfb29d950da17e8f06 (diff) | |
download | lwn-9903f68af6ca9d9b25f5c50bfedd2e0cb899f848.tar.gz lwn-9903f68af6ca9d9b25f5c50bfedd2e0cb899f848.zip |
rtc: s3c: Handle clock prepare failures in probe
clk_prepare_enable() can fail so handle such case.
Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
Diffstat (limited to 'drivers/rtc')
-rw-r--r-- | drivers/rtc/rtc-s3c.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c index c666b95fb8d7..0cb2f27a30b4 100644 --- a/drivers/rtc/rtc-s3c.c +++ b/drivers/rtc/rtc-s3c.c @@ -498,7 +498,9 @@ static int s3c_rtc_probe(struct platform_device *pdev) dev_dbg(&pdev->dev, "probe deferred due to missing rtc clk\n"); return ret; } - clk_prepare_enable(info->rtc_clk); + ret = clk_prepare_enable(info->rtc_clk); + if (ret) + return ret; if (info->data->needs_src_clk) { info->rtc_src_clk = devm_clk_get(&pdev->dev, "rtc_src"); @@ -512,7 +514,9 @@ static int s3c_rtc_probe(struct platform_device *pdev) "probe deferred due to missing rtc src clk\n"); goto err_src_clk; } - clk_prepare_enable(info->rtc_src_clk); + ret = clk_prepare_enable(info->rtc_src_clk); + if (ret) + goto err_src_clk; } /* check to see if everything is setup correctly */ |