Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

log: make name param explicit #9450

Merged
merged 1 commit into from
Sep 11, 2018
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 2 additions & 4 deletions doc/subsystems/logging/logger.rst
Original file line number Diff line number Diff line change
Expand Up @@ -145,21 +145,19 @@ module can be specified as well.

.. code-block:: c
#define LOG_MODULE_NAME foo
#define LOG_LEVEL CONFIG_FOO_LOG_LEVEL /* From foo module Kconfig */
#include <logging/log.h>
LOG_MODULE_REGISTER(); /* One per given LOG_MODULE_NAME */
LOG_MODULE_REGISTER(foo); /* One per given log_module_name */
If the module consists of multiple files, then ``LOG_MODULE_REGISTER()`` should
appear in exactly one of them. Each other file should use
:c:macro:`LOG_MODULE_DECLARE` to declare its membership in the module.

.. code-block:: c
#define LOG_MODULE_NAME foo
#define LOG_LEVEL CONFIG_FOO_LOG_LEVEL /* From foo module Kconfig */
#include <logging/log.h>
LOG_MODULE_DECLARE(); /* In all files comprising the module but one */
LOG_MODULE_DECLARE(foo); /* In all files comprising the module but one */
Logging in a module instance
============================
Expand Down
22 changes: 16 additions & 6 deletions include/logging/log.h
Original file line number Diff line number Diff line change
Expand Up @@ -261,7 +261,12 @@ int log_printk(const char *fmt, va_list ap);
__attribute__ ((section("." STRINGIFY( \
LOG_ITEM_DYNAMIC_DATA(_name)))) \
) \
__attribute__((used))
__attribute__((used)); \
static inline const struct log_source_dynamic_data * \
__log_current_dynamic_data_get(void) \
{ \
return &LOG_ITEM_DYNAMIC_DATA(_name); \
}

#define _LOG_RUNTIME_MODULE_REGISTER(_name) \
_LOG_EVAL( \
Expand All @@ -277,7 +282,12 @@ int log_printk(const char *fmt, va_list ap);
.name = STRINGIFY(_name), \
.level = _level \
} \
_LOG_RUNTIME_MODULE_REGISTER(_name)
_LOG_RUNTIME_MODULE_REGISTER(_name); \
static inline const struct log_source_const_data * \
__log_current_const_data_get(void) \
{ \
return &LOG_ITEM_CONST_DATA(_name); \
}

/**
* @brief Create module-specific state and register the module with Logger.
Expand All @@ -298,10 +308,10 @@ int log_printk(const char *fmt, va_list ap);
* In other cases, this macro has no effect.
* @see LOG_MODULE_DECLARE
*/
#define LOG_MODULE_REGISTER() \
#define LOG_MODULE_REGISTER(log_module_name) \
_LOG_EVAL( \
_LOG_LEVEL(), \
(_LOG_MODULE_REGISTER(LOG_MODULE_NAME, _LOG_LEVEL())), \
(_LOG_MODULE_REGISTER(log_module_name, _LOG_LEVEL())), \
()/*Empty*/ \
)

Expand Down Expand Up @@ -336,10 +346,10 @@ int log_printk(const char *fmt, va_list ap);
* this macro has no effect.
* @see LOG_MODULE_REGISTER
*/
#define LOG_MODULE_DECLARE() \
#define LOG_MODULE_DECLARE(log_module_name) \
_LOG_EVAL( \
_LOG_LEVEL(), \
(_LOG_MODULE_DECLARE(LOG_MODULE_NAME, _LOG_LEVEL())), \
(_LOG_MODULE_DECLARE(log_module_name, _LOG_LEVEL())), \
() \
) \

Expand Down
4 changes: 2 additions & 2 deletions include/logging/log_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ extern "C" {
#define LOG_CURRENT_MODULE_ID() \
_LOG_EVAL( \
_LOG_LEVEL(), \
(log_const_source_id(&LOG_ITEM_CONST_DATA(LOG_MODULE_NAME))), \
(log_const_source_id(__log_current_const_data_get())), \
(0) \
)

Expand All @@ -109,7 +109,7 @@ extern "C" {
#define LOG_CURRENT_DYNAMIC_DATA_ADDR() \
_LOG_EVAL( \
_LOG_LEVEL(), \
(&LOG_ITEM_DYNAMIC_DATA(LOG_MODULE_NAME)), \
(__log_current_dynamic_data_get()), \
((struct log_source_dynamic_data *)0) \
)

Expand Down
3 changes: 2 additions & 1 deletion samples/subsys/logging/logger/src/ext_log_system_adapter.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@

#define LOG_MODULE_NAME ext_log_system
#include <logging/log.h>
LOG_MODULE_REGISTER();

LOG_MODULE_REGISTER(ext_log_system);

/** @brief Translation of custom log levels to logging subsystem levels. */
static const u8_t log_level_lut[] = {
Expand Down
4 changes: 2 additions & 2 deletions samples/subsys/logging/logger/src/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@
#include "ext_log_system.h"
#include "ext_log_system_adapter.h"

#define LOG_MODULE_NAME main
#include <logging/log.h>
LOG_MODULE_REGISTER();

LOG_MODULE_REGISTER(main);

/* size of stack area used by each thread */
#define STACKSIZE 1024
Expand Down
3 changes: 2 additions & 1 deletion samples/subsys/logging/logger/src/sample_module.c
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,8 @@

#define LOG_MODULE_NAME foo
#include <logging/log.h>
LOG_MODULE_REGISTER();

LOG_MODULE_REGISTER(LOG_MODULE_NAME);

const char *sample_module_name_get(void)
{
Expand Down
3 changes: 1 addition & 2 deletions subsys/power/device.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@
#include <device.h>
#include "pm_policy.h"

#define LOG_MODULE_NAME power
#define LOG_LEVEL CONFIG_PM_LOG_LEVEL /* From power module Kconfig */
#include <logging/log.h>
LOG_MODULE_DECLARE();
LOG_MODULE_DECLARE(power);

/*
* FIXME: Remove the conditional inclusion of
Expand Down
3 changes: 1 addition & 2 deletions subsys/power/policy.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,9 @@
#include <soc.h>
#include "pm_policy.h"

#define LOG_MODULE_NAME power
#define LOG_LEVEL CONFIG_PM_LOG_LEVEL /* From power module Kconfig */
#include <logging/log.h>
LOG_MODULE_DECLARE();
LOG_MODULE_DECLARE(power);

#ifdef CONFIG_TICKLESS_KERNEL
#define SECS_TO_TICKS CONFIG_TICKLESS_KERNEL_TIME_UNIT_IN_MICRO_SECS
Expand Down
3 changes: 1 addition & 2 deletions subsys/power/power.c
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,9 @@
#include <soc.h>
#include "pm_policy.h"

#define LOG_MODULE_NAME power
#define LOG_LEVEL CONFIG_PM_LOG_LEVEL /* From power module Kconfig */
#include <logging/log.h>
LOG_MODULE_REGISTER();
LOG_MODULE_REGISTER(power);

static int post_ops_done = 1;
static enum power_states pm_state;
Expand Down
3 changes: 2 additions & 1 deletion tests/subsys/logging/log_core/src/log_core_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@

#define LOG_MODULE_NAME test
#include "logging/log.h"
LOG_MODULE_REGISTER();

LOG_MODULE_REGISTER(LOG_MODULE_NAME);

struct backend_cb {
size_t counter;
Expand Down