* [PATCH 0/2] log: allow for message continuation @ 2020-09-17 12:19 Heinrich Schuchardt 2020-09-17 12:19 ` [PATCH 1/2] " Heinrich Schuchardt 2020-09-17 12:19 ` [PATCH 2/2] test: log: test " Heinrich Schuchardt 0 siblings, 2 replies; 13+ messages in thread From: Heinrich Schuchardt @ 2020-09-17 12:19 UTC (permalink / raw) To: u-boot With the first patch it becomes possible to continue a log message with the same log level and category as the previous messages. We need this facility to convert pr_cont() to use our logging drivers. The second patch provides a unit test. This patch is a prerequisite: [PATCH 1/1] log: mute messages generated by log drivers https://lists.denx.de/pipermail/u-boot/2020-September/426418.html Heinrich Schuchardt (2): log: allow for message continuation test: log: test message continuation common/log.c | 23 ++++++++++++++---- doc/develop/logging.rst | 6 +++++ include/log.h | 2 ++ test/log/Makefile | 4 +++- test/log/cont_test.c | 52 +++++++++++++++++++++++++++++++++++++++++ 5 files changed, 81 insertions(+), 6 deletions(-) create mode 100644 test/log/cont_test.c -- 2.28.0 ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] log: allow for message continuation 2020-09-17 12:19 [PATCH 0/2] log: allow for message continuation Heinrich Schuchardt @ 2020-09-17 12:19 ` Heinrich Schuchardt 2020-09-22 18:48 ` Simon Glass 2020-09-17 12:19 ` [PATCH 2/2] test: log: test " Heinrich Schuchardt 1 sibling, 1 reply; 13+ messages in thread From: Heinrich Schuchardt @ 2020-09-17 12:19 UTC (permalink / raw) To: u-boot Some drivers use macro pr_cont() for continuing a message sent via printk. Hence if we want to convert printk messaging to using the logging system, we must support continuation of log messages too. As pr_cont() does not provide a message level we need a means of remembering the last log level. With the patch a pseudo log level LOGL_CONT as well as a pseudo log category LOGC_CONT are introduced. Using these results in the application of the same log level and category as in the previous log message. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- common/log.c | 23 ++++++++++++++++++----- doc/develop/logging.rst | 6 ++++++ include/log.h | 2 ++ 3 files changed, 26 insertions(+), 5 deletions(-) diff --git a/common/log.c b/common/log.c index 9a5f100da3..bafc09f263 100644 --- a/common/log.c +++ b/common/log.c @@ -183,10 +183,12 @@ static bool log_passes_filters(struct log_device *ldev, struct log_rec *rec) * log_dispatch() - Send a log record to all log devices for processing * * The log record is sent to each log device in turn, skipping those which have - * filters which block the record + * filters which block the record. * - * @rec: Log record to dispatch - * @return 0 (meaning success) + * All log messages created while processing log record @rec are ignored. + * + * @rec: log record to dispatch + * Return: 0 msg sent, 1 msg not sent while already dispatching another msg */ static int log_dispatch(struct log_rec *rec) { @@ -199,7 +201,7 @@ static int log_dispatch(struct log_rec *rec) * as this might result in infinite recursion. */ if (processing_msg) - return 0; + return 1; /* Emit message */ processing_msg = 1; @@ -214,10 +216,18 @@ static int log_dispatch(struct log_rec *rec) int _log(enum log_category_t cat, enum log_level_t level, const char *file, int line, const char *func, const char *fmt, ...) { + static enum log_category_t logc_prev = LOGC_NONE; + static enum log_level_t logl_prev = LOGL_INFO; char buf[CONFIG_SYS_CBSIZE]; struct log_rec rec; va_list args; + /* Check for message continuation */ + if (cat == LOGC_CONT) + cat = logc_prev; + if (level == LOGL_CONT) + level = logl_prev; + rec.cat = cat; rec.level = level; rec.file = file; @@ -232,7 +242,10 @@ int _log(enum log_category_t cat, enum log_level_t level, const char *file, gd->log_drop_count++; return -ENOSYS; } - log_dispatch(&rec); + if (!log_dispatch(&rec)) { + logc_prev = cat; + logl_prev = level; + } return 0; } diff --git a/doc/develop/logging.rst b/doc/develop/logging.rst index 7ce8482ab6..c36f6bbbe4 100644 --- a/doc/develop/logging.rst +++ b/doc/develop/logging.rst @@ -38,6 +38,9 @@ There are a number logging levels available, in increasing order of verbosity: * LOGL_DEBUG_CONTENT - Debug message showing full message content * LOGL_DEBUG_IO - Debug message showing hardware I/O access +To continue a log message in a separate call of function log() use + +* LOGL_CONT - Use same log level as in previous call Logging category ---------------- @@ -56,6 +59,9 @@ The following main categories are defined: * LOGC_DT - Related to device tree control * LOGC_EFI - Related to EFI implementation +To continue a log message in a separate call of function log() use + +* LOGC_CONT - Use same category as in previous call Enabling logging ---------------- diff --git a/include/log.h b/include/log.h index 2859ce1f2e..567cd32d34 100644 --- a/include/log.h +++ b/include/log.h @@ -35,6 +35,7 @@ enum log_level_t { LOGL_FIRST = LOGL_EMERG, LOGL_MAX = LOGL_DEBUG_IO, + LOGL_CONT = -1, /* Use same log level as in previous call */ }; /** @@ -60,6 +61,7 @@ enum log_category_t { LOGC_COUNT, /* Number of log categories */ LOGC_END, /* Sentinel value for a list of log categories */ + LOGC_CONT = -1, /* Use same category as in previous call */ }; /* Helper to cast a uclass ID to a log category */ -- 2.28.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 1/2] log: allow for message continuation 2020-09-17 12:19 ` [PATCH 1/2] " Heinrich Schuchardt @ 2020-09-22 18:48 ` Simon Glass 2020-09-22 19:10 ` Heinrich Schuchardt 0 siblings, 1 reply; 13+ messages in thread From: Simon Glass @ 2020-09-22 18:48 UTC (permalink / raw) To: u-boot Hi Heinrich, On Thu, 17 Sep 2020 at 06:19, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > Some drivers use macro pr_cont() for continuing a message sent via printk. > Hence if we want to convert printk messaging to using the logging system, > we must support continuation of log messages too. > > As pr_cont() does not provide a message level we need a means of > remembering the last log level. > > With the patch a pseudo log level LOGL_CONT as well as a pseudo log > category LOGC_CONT are introduced. Using these results in the application > of the same log level and category as in the previous log message. > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > --- > common/log.c | 23 ++++++++++++++++++----- > doc/develop/logging.rst | 6 ++++++ > include/log.h | 2 ++ > 3 files changed, 26 insertions(+), 5 deletions(-) > > diff --git a/common/log.c b/common/log.c > index 9a5f100da3..bafc09f263 100644 > --- a/common/log.c > +++ b/common/log.c > @@ -183,10 +183,12 @@ static bool log_passes_filters(struct log_device *ldev, struct log_rec *rec) > * log_dispatch() - Send a log record to all log devices for processing > * > * The log record is sent to each log device in turn, skipping those which have > - * filters which block the record > + * filters which block the record. > * > - * @rec: Log record to dispatch > - * @return 0 (meaning success) > + * All log messages created while processing log record @rec are ignored. > + * > + * @rec: log record to dispatch > + * Return: 0 msg sent, 1 msg not sent while already dispatching another msg > */ > static int log_dispatch(struct log_rec *rec) > { > @@ -199,7 +201,7 @@ static int log_dispatch(struct log_rec *rec) > * as this might result in infinite recursion. > */ > if (processing_msg) > - return 0; > + return 1; > > /* Emit message */ > processing_msg = 1; > @@ -214,10 +216,18 @@ static int log_dispatch(struct log_rec *rec) > int _log(enum log_category_t cat, enum log_level_t level, const char *file, > int line, const char *func, const char *fmt, ...) > { > + static enum log_category_t logc_prev = LOGC_NONE; > + static enum log_level_t logl_prev = LOGL_INFO; I don't think we can use static variables in logging. Perhaps we can use gobal_data? > char buf[CONFIG_SYS_CBSIZE]; > struct log_rec rec; > va_list args; > > + /* Check for message continuation */ > + if (cat == LOGC_CONT) Regards, Simon ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] log: allow for message continuation 2020-09-22 18:48 ` Simon Glass @ 2020-09-22 19:10 ` Heinrich Schuchardt 2020-09-22 22:03 ` Simon Glass 0 siblings, 1 reply; 13+ messages in thread From: Heinrich Schuchardt @ 2020-09-22 19:10 UTC (permalink / raw) To: u-boot On 9/22/20 8:48 PM, Simon Glass wrote: > Hi Heinrich, > > On Thu, 17 Sep 2020 at 06:19, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: >> >> Some drivers use macro pr_cont() for continuing a message sent via printk. >> Hence if we want to convert printk messaging to using the logging system, >> we must support continuation of log messages too. >> >> As pr_cont() does not provide a message level we need a means of >> remembering the last log level. >> >> With the patch a pseudo log level LOGL_CONT as well as a pseudo log >> category LOGC_CONT are introduced. Using these results in the application >> of the same log level and category as in the previous log message. >> >> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> >> --- >> common/log.c | 23 ++++++++++++++++++----- >> doc/develop/logging.rst | 6 ++++++ >> include/log.h | 2 ++ >> 3 files changed, 26 insertions(+), 5 deletions(-) >> >> diff --git a/common/log.c b/common/log.c >> index 9a5f100da3..bafc09f263 100644 >> --- a/common/log.c >> +++ b/common/log.c >> @@ -183,10 +183,12 @@ static bool log_passes_filters(struct log_device *ldev, struct log_rec *rec) >> * log_dispatch() - Send a log record to all log devices for processing >> * >> * The log record is sent to each log device in turn, skipping those which have >> - * filters which block the record >> + * filters which block the record. >> * >> - * @rec: Log record to dispatch >> - * @return 0 (meaning success) >> + * All log messages created while processing log record @rec are ignored. >> + * >> + * @rec: log record to dispatch >> + * Return: 0 msg sent, 1 msg not sent while already dispatching another msg >> */ >> static int log_dispatch(struct log_rec *rec) >> { >> @@ -199,7 +201,7 @@ static int log_dispatch(struct log_rec *rec) >> * as this might result in infinite recursion. >> */ >> if (processing_msg) >> - return 0; >> + return 1; >> >> /* Emit message */ >> processing_msg = 1; >> @@ -214,10 +216,18 @@ static int log_dispatch(struct log_rec *rec) >> int _log(enum log_category_t cat, enum log_level_t level, const char *file, >> int line, const char *func, const char *fmt, ...) >> { >> + static enum log_category_t logc_prev = LOGC_NONE; >> + static enum log_level_t logl_prev = LOGL_INFO; > > I don't think we can use static variables in logging. Perhaps we can > use gobal_data? Are you worried about relocation? The initialization of the global data fields should be done in log_init() before gd->flags |= GD_FLG_LOG_READY; I assume. Is the rest ok for you? Best regards Heinrich > > >> char buf[CONFIG_SYS_CBSIZE]; >> struct log_rec rec; >> va_list args; >> >> + /* Check for message continuation */ >> + if (cat == LOGC_CONT) > > Regards, > Simon > ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] log: allow for message continuation 2020-09-22 19:10 ` Heinrich Schuchardt @ 2020-09-22 22:03 ` Simon Glass 2020-10-05 1:41 ` Simon Glass 0 siblings, 1 reply; 13+ messages in thread From: Simon Glass @ 2020-09-22 22:03 UTC (permalink / raw) To: u-boot Hi Heinrich, On Tue, 22 Sep 2020 at 13:10, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > On 9/22/20 8:48 PM, Simon Glass wrote: > > Hi Heinrich, > > > > On Thu, 17 Sep 2020 at 06:19, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > >> > >> Some drivers use macro pr_cont() for continuing a message sent via printk. > >> Hence if we want to convert printk messaging to using the logging system, > >> we must support continuation of log messages too. > >> > >> As pr_cont() does not provide a message level we need a means of > >> remembering the last log level. > >> > >> With the patch a pseudo log level LOGL_CONT as well as a pseudo log > >> category LOGC_CONT are introduced. Using these results in the application > >> of the same log level and category as in the previous log message. > >> > >> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > >> --- > >> common/log.c | 23 ++++++++++++++++++----- > >> doc/develop/logging.rst | 6 ++++++ > >> include/log.h | 2 ++ > >> 3 files changed, 26 insertions(+), 5 deletions(-) > >> > >> diff --git a/common/log.c b/common/log.c > >> index 9a5f100da3..bafc09f263 100644 > >> --- a/common/log.c > >> +++ b/common/log.c > >> @@ -183,10 +183,12 @@ static bool log_passes_filters(struct log_device *ldev, struct log_rec *rec) > >> * log_dispatch() - Send a log record to all log devices for processing > >> * > >> * The log record is sent to each log device in turn, skipping those which have > >> - * filters which block the record > >> + * filters which block the record. > >> * > >> - * @rec: Log record to dispatch > >> - * @return 0 (meaning success) > >> + * All log messages created while processing log record @rec are ignored. > >> + * > >> + * @rec: log record to dispatch > >> + * Return: 0 msg sent, 1 msg not sent while already dispatching another msg > >> */ > >> static int log_dispatch(struct log_rec *rec) > >> { > >> @@ -199,7 +201,7 @@ static int log_dispatch(struct log_rec *rec) > >> * as this might result in infinite recursion. > >> */ > >> if (processing_msg) > >> - return 0; > >> + return 1; > >> > >> /* Emit message */ > >> processing_msg = 1; > >> @@ -214,10 +216,18 @@ static int log_dispatch(struct log_rec *rec) > >> int _log(enum log_category_t cat, enum log_level_t level, const char *file, > >> int line, const char *func, const char *fmt, ...) > >> { > >> + static enum log_category_t logc_prev = LOGC_NONE; > >> + static enum log_level_t logl_prev = LOGL_INFO; > > > > I don't think we can use static variables in logging. Perhaps we can > > use gobal_data? > > Are you worried about relocation? Yes, and SPL. > > The initialization of the global data fields should be done in > log_init() before gd->flags |= GD_FLG_LOG_READY; I assume. Yes. > > Is the rest ok for you? Yes. If you are adding new things to global_data you could convert default_log_level to a char to avoid using more space. > > Best regards > > Heinrich > > > > > > >> char buf[CONFIG_SYS_CBSIZE]; > >> struct log_rec rec; > >> va_list args; > >> > >> + /* Check for message continuation */ > >> + if (cat == LOGC_CONT) > > > > Regards, > > Simon > > > ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 1/2] log: allow for message continuation 2020-09-22 22:03 ` Simon Glass @ 2020-10-05 1:41 ` Simon Glass 0 siblings, 0 replies; 13+ messages in thread From: Simon Glass @ 2020-10-05 1:41 UTC (permalink / raw) To: u-boot Hi Heinrich, On Tue, 22 Sep 2020 at 16:03, Simon Glass <sjg@chromium.org> wrote: > > Hi Heinrich, > > On Tue, 22 Sep 2020 at 13:10, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > > > On 9/22/20 8:48 PM, Simon Glass wrote: > > > Hi Heinrich, > > > > > > On Thu, 17 Sep 2020 at 06:19, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > >> > > >> Some drivers use macro pr_cont() for continuing a message sent via printk. > > >> Hence if we want to convert printk messaging to using the logging system, > > >> we must support continuation of log messages too. > > >> > > >> As pr_cont() does not provide a message level we need a means of > > >> remembering the last log level. > > >> > > >> With the patch a pseudo log level LOGL_CONT as well as a pseudo log > > >> category LOGC_CONT are introduced. Using these results in the application > > >> of the same log level and category as in the previous log message. > > >> > > >> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > > >> --- > > >> common/log.c | 23 ++++++++++++++++++----- > > >> doc/develop/logging.rst | 6 ++++++ > > >> include/log.h | 2 ++ > > >> 3 files changed, 26 insertions(+), 5 deletions(-) > > >> > > >> diff --git a/common/log.c b/common/log.c > > >> index 9a5f100da3..bafc09f263 100644 > > >> --- a/common/log.c > > >> +++ b/common/log.c > > >> @@ -183,10 +183,12 @@ static bool log_passes_filters(struct log_device *ldev, struct log_rec *rec) > > >> * log_dispatch() - Send a log record to all log devices for processing > > >> * > > >> * The log record is sent to each log device in turn, skipping those which have > > >> - * filters which block the record > > >> + * filters which block the record. > > >> * > > >> - * @rec: Log record to dispatch > > >> - * @return 0 (meaning success) > > >> + * All log messages created while processing log record @rec are ignored. > > >> + * > > >> + * @rec: log record to dispatch > > >> + * Return: 0 msg sent, 1 msg not sent while already dispatching another msg > > >> */ > > >> static int log_dispatch(struct log_rec *rec) > > >> { > > >> @@ -199,7 +201,7 @@ static int log_dispatch(struct log_rec *rec) > > >> * as this might result in infinite recursion. > > >> */ > > >> if (processing_msg) > > >> - return 0; > > >> + return 1; > > >> > > >> /* Emit message */ > > >> processing_msg = 1; > > >> @@ -214,10 +216,18 @@ static int log_dispatch(struct log_rec *rec) > > >> int _log(enum log_category_t cat, enum log_level_t level, const char *file, > > >> int line, const char *func, const char *fmt, ...) > > >> { > > >> + static enum log_category_t logc_prev = LOGC_NONE; > > >> + static enum log_level_t logl_prev = LOGL_INFO; > > > > > > I don't think we can use static variables in logging. Perhaps we can > > > use gobal_data? > > > > Are you worried about relocation? > > Yes, and SPL. > > > > > The initialization of the global data fields should be done in > > log_init() before gd->flags |= GD_FLG_LOG_READY; I assume. > > Yes. > > > > > Is the rest ok for you? > > Yes. If you are adding new things to global_data you could convert > default_log_level to a char to avoid using more space. > Also I notice that the processing_msg variable in log.c crashes logging in SPL/TPL. Can you please move this to global_data too? Regards, Simon ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/2] test: log: test message continuation 2020-09-17 12:19 [PATCH 0/2] log: allow for message continuation Heinrich Schuchardt 2020-09-17 12:19 ` [PATCH 1/2] " Heinrich Schuchardt @ 2020-09-17 12:19 ` Heinrich Schuchardt 2020-09-22 18:48 ` Simon Glass 2020-10-10 21:28 ` Tom Rini 1 sibling, 2 replies; 13+ messages in thread From: Heinrich Schuchardt @ 2020-09-17 12:19 UTC (permalink / raw) To: u-boot Provide a unit test checking that a continuation message will use the same log level and log category as the previous message. Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> --- test/log/Makefile | 4 +++- test/log/cont_test.c | 52 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) create mode 100644 test/log/cont_test.c diff --git a/test/log/Makefile b/test/log/Makefile index 4c92550f6e..1f91c90422 100644 --- a/test/log/Makefile +++ b/test/log/Makefile @@ -12,7 +12,9 @@ ifdef CONFIG_SANDBOX obj-$(CONFIG_LOG_SYSLOG) += syslog_test.o endif -ifndef CONFIG_LOG +ifdef CONFIG_LOG +obj-$(CONFIG_CONSOLE_RECORD) += cont_test.o +else obj-$(CONFIG_CONSOLE_RECORD) += nolog_test.o endif diff --git a/test/log/cont_test.c b/test/log/cont_test.c new file mode 100644 index 0000000000..68ca1d262c --- /dev/null +++ b/test/log/cont_test.c @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (c) 2020, Heinrich Schuchardt <xypron.glpk@gmx.de> + * + * Test continuation of log messages. + */ + +#include <common.h> +#include <console.h> +#include <test/log.h> +#include <test/test.h> +#include <test/suites.h> +#include <test/ut.h> + +DECLARE_GLOBAL_DATA_PTR; + +#define BUFFSIZE 64 + +static int log_test_cont(struct unit_test_state *uts) +{ + int log_fmt; + int log_level; + + log_fmt = gd->log_fmt; + log_level = gd->default_log_level; + + /* Write two messages, the second continuing the first */ + gd->log_fmt = (1 << LOGF_CAT) | (1 << LOGF_LEVEL) | (1 << LOGF_MSG); + gd->default_log_level = LOGL_INFO; + console_record_reset_enable(); + log(LOGC_ARCH, LOGL_ERR, "ea%d ", 1); + log(LOGC_CONT, LOGL_CONT, "cc%d\n", 2); + gd->default_log_level = log_level; + gd->log_fmt = log_fmt; + gd->flags &= ~GD_FLG_RECORD; + ut_assertok(ut_check_console_line(uts, "ERR.arch, ea1 ERR.arch, cc2")); + ut_assertok(ut_check_console_end(uts)); + + /* Write a third message which is not a continuation */ + gd->log_fmt = (1 << LOGF_CAT) | (1 << LOGF_LEVEL) | (1 << LOGF_MSG); + gd->default_log_level = LOGL_INFO; + console_record_reset_enable(); + log(LOGC_EFI, LOGL_INFO, "ie%d\n", 3); + gd->default_log_level = log_level; + gd->log_fmt = log_fmt; + gd->flags &= ~GD_FLG_RECORD; + ut_assertok(ut_check_console_line(uts, "INFO.efi, ie3")); + ut_assertok(ut_check_console_end(uts)); + + return 0; +} +LOG_TEST(log_test_cont); -- 2.28.0 ^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 2/2] test: log: test message continuation 2020-09-17 12:19 ` [PATCH 2/2] test: log: test " Heinrich Schuchardt @ 2020-09-22 18:48 ` Simon Glass 2020-10-10 21:28 ` Tom Rini 1 sibling, 0 replies; 13+ messages in thread From: Simon Glass @ 2020-09-22 18:48 UTC (permalink / raw) To: u-boot On Thu, 17 Sep 2020 at 06:19, Heinrich Schuchardt <xypron.glpk@gmx.de> wrote: > > Provide a unit test checking that a continuation message will use the same > log level and log category as the previous message. > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > --- > test/log/Makefile | 4 +++- > test/log/cont_test.c | 52 ++++++++++++++++++++++++++++++++++++++++++++ > 2 files changed, 55 insertions(+), 1 deletion(-) > create mode 100644 test/log/cont_test.c Reviewed-by: Simon Glass <sjg@chromium.org> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/2] test: log: test message continuation 2020-09-17 12:19 ` [PATCH 2/2] test: log: test " Heinrich Schuchardt 2020-09-22 18:48 ` Simon Glass @ 2020-10-10 21:28 ` Tom Rini 2020-10-10 21:47 ` Sean Anderson 2020-10-11 8:11 ` Heinrich Schuchardt 1 sibling, 2 replies; 13+ messages in thread From: Tom Rini @ 2020-10-10 21:28 UTC (permalink / raw) To: u-boot On Thu, Sep 17, 2020 at 02:19:02PM +0200, Heinrich Schuchardt wrote: > Provide a unit test checking that a continuation message will use the same > log level and log category as the previous message. > > Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > Reviewed-by: Simon Glass <sjg@chromium.org> [snip] > + log(LOGC_CONT, LOGL_CONT, "cc%d\n", 2); These new values aren't defined, or I missed some other series. Thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: not available URL: <https://lists.denx.de/pipermail/u-boot/attachments/20201010/4fa914cd/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/2] test: log: test message continuation 2020-10-10 21:28 ` Tom Rini @ 2020-10-10 21:47 ` Sean Anderson 2020-10-10 21:51 ` Tom Rini 2020-10-11 8:11 ` Heinrich Schuchardt 1 sibling, 1 reply; 13+ messages in thread From: Sean Anderson @ 2020-10-10 21:47 UTC (permalink / raw) To: u-boot On 10/10/20 5:28 PM, Tom Rini wrote: > On Thu, Sep 17, 2020 at 02:19:02PM +0200, Heinrich Schuchardt wrote: > >> Provide a unit test checking that a continuation message will use the same >> log level and log category as the previous message. >> >> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> >> Reviewed-by: Simon Glass <sjg@chromium.org> > [snip] >> + log(LOGC_CONT, LOGL_CONT, "cc%d\n", 2); > > These new values aren't defined, or I missed some other series. Thanks! > They should be defined in the first patch On 9/17/20 8:19 AM, Heinrich Schuchardt wrote: > diff --git a/include/log.h b/include/log.h > index 2859ce1f2e..567cd32d34 100644 > --- a/include/log.h > +++ b/include/log.h > @@ -35,6 +35,7 @@ enum log_level_t { > > LOGL_FIRST = LOGL_EMERG, > LOGL_MAX = LOGL_DEBUG_IO, > + LOGL_CONT = -1, /* Use same log level as in previous call */ > }; > > /** > @@ -60,6 +61,7 @@ enum log_category_t { > > LOGC_COUNT, /* Number of log categories */ > LOGC_END, /* Sentinel value for a list of log categories */ > + LOGC_CONT = -1, /* Use same category as in previous call */ > }; > > /* Helper to cast a uclass ID to a log category */ > -- > 2.28.0 > ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/2] test: log: test message continuation 2020-10-10 21:47 ` Sean Anderson @ 2020-10-10 21:51 ` Tom Rini 2020-10-11 8:09 ` Heinrich Schuchardt 0 siblings, 1 reply; 13+ messages in thread From: Tom Rini @ 2020-10-10 21:51 UTC (permalink / raw) To: u-boot On Sat, Oct 10, 2020 at 05:47:26PM -0400, Sean Anderson wrote: > On 10/10/20 5:28 PM, Tom Rini wrote: > > On Thu, Sep 17, 2020 at 02:19:02PM +0200, Heinrich Schuchardt wrote: > > > >> Provide a unit test checking that a continuation message will use the same > >> log level and log category as the previous message. > >> > >> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> > >> Reviewed-by: Simon Glass <sjg@chromium.org> > > [snip] > >> + log(LOGC_CONT, LOGL_CONT, "cc%d\n", 2); > > > > These new values aren't defined, or I missed some other series. Thanks! > > > > They should be defined in the first patch and I see 1/2 has changes requested, so I shoulda deferred this one. Thanks! -- Tom -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 659 bytes Desc: not available URL: <https://lists.denx.de/pipermail/u-boot/attachments/20201010/d41b36cb/attachment.sig> ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/2] test: log: test message continuation 2020-10-10 21:51 ` Tom Rini @ 2020-10-11 8:09 ` Heinrich Schuchardt 0 siblings, 0 replies; 13+ messages in thread From: Heinrich Schuchardt @ 2020-10-11 8:09 UTC (permalink / raw) To: u-boot On 10/10/20 11:51 PM, Tom Rini wrote: > On Sat, Oct 10, 2020 at 05:47:26PM -0400, Sean Anderson wrote: >> On 10/10/20 5:28 PM, Tom Rini wrote: >>> On Thu, Sep 17, 2020 at 02:19:02PM +0200, Heinrich Schuchardt wrote: >>> >>>> Provide a unit test checking that a continuation message will use the same >>>> log level and log category as the previous message. >>>> >>>> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> >>>> Reviewed-by: Simon Glass <sjg@chromium.org> >>> [snip] >>>> + log(LOGC_CONT, LOGL_CONT, "cc%d\n", 2); >>> >>> These new values aren't defined, or I missed some other series. Thanks! >>> >> >> They should be defined in the first patch > > and I see 1/2 has changes requested, so I shoulda deferred this one. > Thanks! > Hello Tom, I am still waiting on the "doc: global data pointer" series to be merged as this will be the basis for adjusting the log continuation series. https://patchwork.ozlabs.org/project/uboot/list/?series=205937 But I will be patient as it seems that you have been drowned in patches assigned to you. Best regards Heinrich ^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 2/2] test: log: test message continuation 2020-10-10 21:28 ` Tom Rini 2020-10-10 21:47 ` Sean Anderson @ 2020-10-11 8:11 ` Heinrich Schuchardt 1 sibling, 0 replies; 13+ messages in thread From: Heinrich Schuchardt @ 2020-10-11 8:11 UTC (permalink / raw) To: u-boot On 10/10/20 11:28 PM, Tom Rini wrote: > On Thu, Sep 17, 2020 at 02:19:02PM +0200, Heinrich Schuchardt wrote: > >> Provide a unit test checking that a continuation message will use the same >> log level and log category as the previous message. >> >> Signed-off-by: Heinrich Schuchardt <xypron.glpk@gmx.de> >> Reviewed-by: Simon Glass <sjg@chromium.org> > [snip] >> + log(LOGC_CONT, LOGL_CONT, "cc%d\n", 2); > > These new values aren't defined, or I missed some other series. Thanks! > See here: https://patchwork.ozlabs.org/project/uboot/patch/20200917121902.57403-2-xypron.glpk at gmx.de/ But the series has to be reworked. Best regards Heinrich ^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2020-10-11 8:11 UTC | newest] Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-09-17 12:19 [PATCH 0/2] log: allow for message continuation Heinrich Schuchardt 2020-09-17 12:19 ` [PATCH 1/2] " Heinrich Schuchardt 2020-09-22 18:48 ` Simon Glass 2020-09-22 19:10 ` Heinrich Schuchardt 2020-09-22 22:03 ` Simon Glass 2020-10-05 1:41 ` Simon Glass 2020-09-17 12:19 ` [PATCH 2/2] test: log: test " Heinrich Schuchardt 2020-09-22 18:48 ` Simon Glass 2020-10-10 21:28 ` Tom Rini 2020-10-10 21:47 ` Sean Anderson 2020-10-10 21:51 ` Tom Rini 2020-10-11 8:09 ` Heinrich Schuchardt 2020-10-11 8:11 ` Heinrich Schuchardt
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.