logging: Add log_source_id helper function

There are many places where source_id is retrieved and it
depends on runtime filtering being enabled. So far it was
all exposed but lets encapsulate that into a helper function.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruściński 2024-10-04 07:19:20 +02:00 committed by Carles Cufí
parent 88374b0738
commit 8fc0aba4ae
9 changed files with 23 additions and 30 deletions

View file

@ -493,6 +493,20 @@ static inline uint32_t log_dynamic_source_id(struct log_source_dynamic_data *dat
sizeof(struct log_source_dynamic_data);
}
/** @brief Get index of the log source based on the address of the associated data.
*
* @param source Address of the data structure (dynamic if runtime filtering is
* enabled and static otherwise).
*
* @return Source ID.
*/
static inline uint32_t log_source_id(const void *source)
{
return IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING) ?
log_dynamic_source_id((struct log_source_dynamic_data *)source) :
log_const_source_id((const struct log_source_const_data *)source);
}
/** @brief Dummy function to trigger log messages arguments type checking. */
static inline __printf_like(1, 2)
void z_log_printf_arg_checker(const char *fmt, ...)

View file

@ -51,11 +51,8 @@ static void process(const struct log_backend *const backend,
/* Update package len field in the message descriptor. */
out_log_msg->hdr.desc.package_len = fsc_plen;
out_log_msg->hdr.source = out_log_msg->hdr.source ?
(const void *)(IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING) ?
log_dynamic_source_id((void *)out_log_msg->hdr.source) :
log_const_source_id((void *)out_log_msg->hdr.source)) :
(const void *)-1;
out_log_msg->hdr.source = (const void *)(out_log_msg->hdr.source ?
log_source_id(out_log_msg->hdr.source) : -1);
/* Fill new package. */
fsc_plen = cbprintf_fsc_package(msg->log.data, msg->log.hdr.desc.package_len,

View file

@ -233,11 +233,7 @@ static inline void hdr_fill(struct log_dict_output_normal_msg_hdr_t *hdr,
hdr->package_len = desc.package_len;
hdr->data_len = desc.data_len;
hdr->timestamp = z_log_timestamp();
hdr->source = (source != NULL) ?
(IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING) ?
log_dynamic_source_id((void *)source) :
log_const_source_id((void *)source)) :
0U;
hdr->source = (source != NULL) ? log_source_id(source) : 0U;
}
/* Handle logging message in synchronous manner, in panic mode. */

View file

@ -304,9 +304,7 @@ static inline uint16_t get_channel(void)
static inline int16_t get_source_id(const void *source)
{
if (source != NULL) {
return IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING)
? log_dynamic_source_id((void *)source)
: log_const_source_id(source);
return log_source_id(source);
}
return LOG_FRONTEND_STM_NO_SOURCE;

View file

@ -409,9 +409,7 @@ int16_t log_msg_get_source_id(struct log_msg *msg)
void *source = (void *)log_msg_get_source(msg);
if (source != NULL) {
return IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING)
? log_dynamic_source_id(source)
: log_const_source_id(source);
return log_source_id(source);
}
return -1;

View file

@ -38,11 +38,7 @@ void log_dict_output_msg_process(const struct log_output *output,
output_hdr.data_len = msg->hdr.desc.data_len;
output_hdr.timestamp = msg->hdr.timestamp;
output_hdr.source = (source != NULL) ?
(IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING) ?
log_dynamic_source_id(source) :
log_const_source_id(source)) :
0U;
output_hdr.source = (source != NULL) ? log_source_id(source) : 0U;
buffer_write(output->func, (uint8_t *)&output_hdr, sizeof(output_hdr),
(void *)output->control_block->ctx);

View file

@ -795,9 +795,7 @@ void log_output_msg_syst_process(const struct log_output *output,
void *source = (void *)log_msg_get_source(msg);
if (source != NULL) {
source_id = IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING) ?
log_dynamic_source_id(source) :
log_const_source_id(source);
source_id = log_source_id(source);
}
}

View file

@ -157,9 +157,7 @@ static void process(const struct log_backend *const backend,
} else if (source == NULL) {
source_id = 0;
} else {
source_id = IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING) ?
log_dynamic_source_id((struct log_source_dynamic_data *)source) :
log_const_source_id((const struct log_source_const_data *)source);
source_id = log_source_id(source);
}
zassert_equal(source_id, exp->source_id, "source_id:%p (exp: %d)",

View file

@ -115,9 +115,7 @@ void log_frontend_msg(const void *source,
if (desc.level == LOG_LEVEL_NONE) {
source_id = (uintptr_t)source;
} else {
source_id = IS_ENABLED(CONFIG_LOG_RUNTIME_FILTERING) ?
log_dynamic_source_id((struct log_source_dynamic_data *)source) :
log_const_source_id((const struct log_source_const_data *)source);
source_id = log_source_id(source);
}
zassert_equal(source_id, exp_msg->source_id, "got: %d, exp: %d",