04 Feb, 2018

4 commits

  • The EFI implementation does not fit into any of the existing categories.

    Provide LOGC_EFI so that EFI related message can be filtered.

    Signed-off-by: Heinrich Schuchardt
    Reviewed-by: Simon Glass

    Heinrich Schuchardt
     
  • When functions return an error it propagates up the stack to the point
    where it is reported. Often the error code provides enough information
    about the root cause of the error that this is obvious what went wrong.

    However in some cases the error may be hard to trace. For example if a
    driver uses several devices to perform an operation, it may not be
    obvious which one failed.

    Add a log_ret() macro to help with this. This can be used to wrap any
    error-return value. The logging system will then output a log record when
    the original error is generated, making it easy to trace the call stack
    of the error.

    This macro can significantly impact code size, so its use is controlled
    by a Kconfig option, which is enabled for sandbox.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • It is useful to be able to control the output format of log records on the
    console. As a starting point, add definitions for controlling which
    elements of the log record are displayed. Use function and message as the
    default, since these are the most useful fields.

    Signed-off-by: Simon Glass

    Simon Glass
     
  • Category and level both use an enum for their ID values. Add functions to
    convert these IDs to strings and vice versa. This will allow the log to
    output the strings instead of the (inscrutable) values.

    At the same time, add a new 'driver-model' category, to cover core
    driver-model functions and fix an incorrect value for LOGL_MAX.

    Tests will be added with the new 'log' subcommands.

    Signed-off-by: Simon Glass
    (Updated to correct clang warnings)

    Simon Glass
     

08 Dec, 2017

3 commits