aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrey Smirnov <[email protected]>2019-08-12 13:08:47 -0700
committerWim Van Sebroeck <[email protected]>2019-09-17 08:59:03 +0200
commitb774fcef7dde27da8e8ed21571a254b1a78d200f (patch)
treee497ae9cfaadc34106b1ebb4502cb45ab368ae3c
parent4a9600c7e735c343cf723bf4a97bfb0435748e20 (diff)
watchdog: ziirave_wdt: Be more verbose during firmware update
Add more error logging to ziirave_firm_upload() for diagnostics. Signed-off-by: Andrey Smirnov <[email protected]> Cc: Chris Healy <[email protected]> Cc: Guenter Roeck <[email protected]> Cc: Rick Ramstetter <[email protected]> Cc: [email protected] Cc: [email protected] Reviewed-by: Guenter Roeck <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Guenter Roeck <[email protected]> Signed-off-by: Wim Van Sebroeck <[email protected]>
-rw-r--r--drivers/watchdog/ziirave_wdt.c18
1 files changed, 14 insertions, 4 deletions
diff --git a/drivers/watchdog/ziirave_wdt.c b/drivers/watchdog/ziirave_wdt.c
index 8c71341a9c1c..b3e255b40209 100644
--- a/drivers/watchdog/ziirave_wdt.c
+++ b/drivers/watchdog/ziirave_wdt.c
@@ -335,14 +335,18 @@ static int ziirave_firm_upload(struct watchdog_device *wdd,
ret = ziirave_firm_write_byte(wdd, ZIIRAVE_CMD_JUMP_TO_BOOTLOADER, 1,
false);
- if (ret)
+ if (ret) {
+ dev_err(&client->dev, "Failed to jump to bootloader\n");
return ret;
+ }
msleep(500);
ret = ziirave_firm_write_byte(wdd, ZIIRAVE_CMD_DOWNLOAD_START, 1, true);
- if (ret)
+ if (ret) {
+ dev_err(&client->dev, "Failed to start download\n");
return ret;
+ }
msleep(500);
@@ -438,14 +442,20 @@ static int ziirave_firm_upload(struct watchdog_device *wdd,
/* End download operation */
ret = ziirave_firm_write_byte(wdd, ZIIRAVE_CMD_DOWNLOAD_END, 1, false);
- if (ret)
+ if (ret) {
+ dev_err(&client->dev,
+ "Failed to end firmware download: %d\n", ret);
return ret;
+ }
/* Reset the processor */
ret = ziirave_firm_write_byte(wdd, ZIIRAVE_CMD_RESET_PROCESSOR, 1,
false);
- if (ret)
+ if (ret) {
+ dev_err(&client->dev,
+ "Failed to reset the watchdog: %d\n", ret);
return ret;
+ }
msleep(500);