diff options
author | Simon Glass <sjg@chromium.org> | 2021-01-20 20:10:54 -0700 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2021-03-12 17:41:35 -0500 |
commit | 7bd06587decafabb56f68de3ae87adb4c49ca8db (patch) | |
tree | 79186153ce0f6339b3f172bdffcd300e502e64db /doc/develop | |
parent | 9ad7a6c25c7142a46fe4b811c13bc3280c4bb27f (diff) | |
download | u-boot-7bd06587decafabb56f68de3ae87adb4c49ca8db.tar.gz |
log: Add return-checking macros for 0 being success
The existing log_ret() and log_msg_ret() macros consider an error to be
less than zero. But some function may return a positive number to indicate
a different kind of failure. Add macros to check for that also.
Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'doc/develop')
-rw-r--r-- | doc/develop/logging.rst | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/doc/develop/logging.rst b/doc/develop/logging.rst index 622ad6ad1af..f4e925048e8 100644 --- a/doc/develop/logging.rst +++ b/doc/develop/logging.rst @@ -117,11 +117,24 @@ can be used whenever your function returns an error value: .. code-block:: c - return log_ret(uclass_first_device(UCLASS_MMC, &dev)); + return log_ret(uclass_first_device_err(UCLASS_MMC, &dev)); This will write a log record when an error code is detected (a value < 0). This can make it easier to trace errors that are generated deep in the call stack. +The log_msg_ret() variant will print a short string if CONFIG_LOG_ERROR_RETURN +is enabled. So long as the string is unique within the function you can normally +determine exactly which call failed: + +.. code-block:: c + + ret = gpio_request_by_name(dev, "cd-gpios", 0, &desc, GPIOD_IS_IN); + if (ret) + return log_msg_ret("gpio", ret); + +Some functions return 0 for success and any other value is an error. For these, +log_retz() and log_msg_retz() are available. + Convenience functions ~~~~~~~~~~~~~~~~~~~~~ |