public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH v3] rtc: s3c: Don't print an error on probe deferral
@ 2016-03-15  1:38 Javier Martinez Canillas
  2016-03-15  1:50 ` Krzysztof Kozlowski
  2016-03-18 23:08 ` Alexandre Belloni
  0 siblings, 2 replies; 12+ messages in thread
From: Javier Martinez Canillas @ 2016-03-15  1:38 UTC (permalink / raw)
  To: linux-kernel
  Cc: Joe Perches, Alexandre Belloni, linux-samsung-soc,
	Krzysztof Kozlowski, rtc-linux, Javier Martinez Canillas

The clock and source clock looked up by the driver may not be available
just because the clock controller driver was not probed yet so printing
an error in this case is not correct and only adds confusion to users.

However, knowing that a driver's probe was deferred may be useful so it
can be printed as a debug information.

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>

---

Changes in v3:
- Change debug messages again as suggested by Joe Perches.

Changes in v2:
- Improve debug messages as suggested by Joe Perches.

 drivers/rtc/rtc-s3c.c | 19 ++++++++++++++-----
 1 file changed, 14 insertions(+), 5 deletions(-)

diff --git a/drivers/rtc/rtc-s3c.c b/drivers/rtc/rtc-s3c.c
index ffb860d18701..d01ad7e8078e 100644
--- a/drivers/rtc/rtc-s3c.c
+++ b/drivers/rtc/rtc-s3c.c
@@ -501,18 +501,27 @@ static int s3c_rtc_probe(struct platform_device *pdev)
 
 	info->rtc_clk = devm_clk_get(&pdev->dev, "rtc");
 	if (IS_ERR(info->rtc_clk)) {
-		dev_err(&pdev->dev, "failed to find rtc clock\n");
-		return PTR_ERR(info->rtc_clk);
+		ret = PTR_ERR(info->rtc_clk);
+		if (ret != -EPROBE_DEFER)
+			dev_err(&pdev->dev, "failed to find rtc clock\n");
+		else
+			dev_dbg(&pdev->dev, "probe deferred due to missing rtc clk\n");
+		return ret;
 	}
 	clk_prepare_enable(info->rtc_clk);
 
 	if (info->data->needs_src_clk) {
 		info->rtc_src_clk = devm_clk_get(&pdev->dev, "rtc_src");
 		if (IS_ERR(info->rtc_src_clk)) {
-			dev_err(&pdev->dev,
-				"failed to find rtc source clock\n");
+			ret = PTR_ERR(info->rtc_src_clk);
+			if (ret != -EPROBE_DEFER)
+				dev_err(&pdev->dev,
+					"failed to find rtc source clock\n");
+			else
+				dev_dbg(&pdev->dev,
+					"probe deferred due to missing rtc src clk\n");
 			clk_disable_unprepare(info->rtc_clk);
-			return PTR_ERR(info->rtc_src_clk);
+			return ret;
 		}
 		clk_prepare_enable(info->rtc_src_clk);
 	}
-- 
2.5.0

^ permalink raw reply related	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2016-03-18 23:08 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-03-15  1:38 [PATCH v3] rtc: s3c: Don't print an error on probe deferral Javier Martinez Canillas
2016-03-15  1:50 ` Krzysztof Kozlowski
2016-03-15  1:59   ` Javier Martinez Canillas
2016-03-15  2:26     ` Krzysztof Kozlowski
2016-03-15  2:58       ` Javier Martinez Canillas
2016-03-18 11:57         ` Javier Martinez Canillas
2016-03-18 12:07           ` Alexandre Belloni
2016-03-18 12:20             ` [rtc-linux] " Krzysztof Kozlowski
2016-03-18 13:56               ` Javier Martinez Canillas
2016-03-18 13:03             ` Alexandre Belloni
2016-03-18 13:44               ` Javier Martinez Canillas
2016-03-18 23:08 ` Alexandre Belloni

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox