stmp3xxx_wdt_register() can fail as platform_device_alloc() or
platform_device_add() can fail. But when it fails it failed silently.
Lets print out an error message on failure so that user will atlest
know that there was some error.

Signed-off-by: Sudip Mukherjee <sudip.mukher...@codethink.co.uk>
---

v1 -  returned error while failing in the probe.

 drivers/rtc/rtc-stmp3xxx.c | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/drivers/rtc/rtc-stmp3xxx.c b/drivers/rtc/rtc-stmp3xxx.c
index ca54d03..e6aaaa5 100644
--- a/drivers/rtc/rtc-stmp3xxx.c
+++ b/drivers/rtc/rtc-stmp3xxx.c
@@ -107,14 +107,19 @@ static struct stmp3xxx_wdt_pdata wdt_pdata = {
 
 static void stmp3xxx_wdt_register(struct platform_device *rtc_pdev)
 {
+       int rc = -1;
        struct platform_device *wdt_pdev =
                platform_device_alloc("stmp3xxx_rtc_wdt", rtc_pdev->id);
 
        if (wdt_pdev) {
                wdt_pdev->dev.parent = &rtc_pdev->dev;
                wdt_pdev->dev.platform_data = &wdt_pdata;
-               platform_device_add(wdt_pdev);
+               rc = platform_device_add(wdt_pdev);
        }
+
+       if (rc)
+               dev_err(&rtc_pdev->dev,
+                       "failed to register stmp3xxx_rtc_wdt\n");
 }
 #else
 static void stmp3xxx_wdt_register(struct platform_device *rtc_pdev)
-- 
1.9.1

Reply via email to