log: Add a way to log a return value with a message
It is sometimes useful to show a message when logging an error return
value, perhaps to add a few details about the problem. Add a function to
support this.
Signed-off-by: Simon Glass <sjg@chromium.org>
diff --git a/include/log.h b/include/log.h
index 3e99d6e..653fb8d 100644
--- a/include/log.h
+++ b/include/log.h
@@ -166,8 +166,16 @@
log(LOG_CATEGORY, LOGL_ERR, "returning err=%d\n", __ret); \
__ret; \
})
+#define log_msg_ret(_msg, _ret) ({ \
+ int __ret = (_ret); \
+ if (__ret < 0) \
+ log(LOG_CATEGORY, LOGL_ERR, "%s: returning err=%d\n", _msg, \
+ __ret); \
+ __ret; \
+ })
#else
#define log_ret(_ret) (_ret)
+#define log_msg_ret(_ret) (_ret)
#endif
/**