6#ifndef ZEPHYR_INCLUDE_LOGGING_LOG_INSTANCE_H_
7#define ZEPHYR_INCLUDE_LOGGING_LOG_INSTANCE_H_
38#if defined(CONFIG_RISCV) && defined(CONFIG_64BIT)
50#define Z_LOG_ITEM_CONST_DATA(_name) UTIL_CAT(log_const_, _name)
63#define Z_LOG_CONST_ITEM_REGISTER(_name, _str_name, _level) \
64 const struct log_source_const_data Z_LOG_ITEM_CONST_DATA(_name) \
65 __attribute__ ((section("." STRINGIFY(Z_LOG_ITEM_CONST_DATA(_name))))) \
66 __attribute__((used)) = { \
79#define LOG_OBJECT_PTR_INIT(_name, _object) \
80 IF_ENABLED(CONFIG_LOG, (._name = _object,))
86#define Z_LOG_INSTANCE_FULL_NAME(_module_name, _inst_name) \
87 UTIL_CAT(_module_name, UTIL_CAT(_, _inst_name))
98#define Z_LOG_OBJECT_PTR(_name) \
99 COND_CODE_1(CONFIG_LOG_RUNTIME_FILTERING, \
100 (&LOG_ITEM_DYNAMIC_DATA(_name)), \
101 (&Z_LOG_ITEM_CONST_DATA(_name))) \
112#define LOG_INSTANCE_PTR(_module_name, _inst_name) \
113 Z_LOG_OBJECT_PTR(Z_LOG_INSTANCE_FULL_NAME(_module_name, _inst_name))
127#define LOG_INSTANCE_PTR_INIT(_name, _module_name, _inst_name) \
128 LOG_OBJECT_PTR_INIT(_name, LOG_INSTANCE_PTR(_module_name, _inst_name))
130#define Z_LOG_INSTANCE_STRUCT \
131 COND_CODE_1(CONFIG_LOG_RUNTIME_FILTERING, \
132 (struct log_source_dynamic_data), \
133 (const struct log_source_const_data))
141#define LOG_INSTANCE_PTR_DECLARE(_name) \
142 IF_ENABLED(CONFIG_LOG, (Z_LOG_INSTANCE_STRUCT * _name))
144#define Z_LOG_RUNTIME_INSTANCE_REGISTER(_module_name, _inst_name) \
145 struct log_source_dynamic_data LOG_INSTANCE_DYNAMIC_DATA(_module_name, _inst_name) \
146 __attribute__ ((section("." STRINGIFY( \
147 LOG_INSTANCE_DYNAMIC_DATA(_module_name, _inst_name) \
149 ))) __attribute__((used))
151#define Z_LOG_INSTANCE_REGISTER(_module_name, _inst_name, _level) \
152 Z_LOG_CONST_ITEM_REGISTER( \
153 Z_LOG_INSTANCE_FULL_NAME(_module_name, _inst_name), \
154 STRINGIFY(_module_name._inst_name), \
156 IF_ENABLED(CONFIG_LOG_RUNTIME_FILTERING, \
157 (Z_LOG_RUNTIME_INSTANCE_REGISTER(_module_name, _inst_name)))
170#define LOG_INSTANCE_REGISTER(_module_name, _inst_name, _level) \
171 IF_ENABLED(CONFIG_LOG, (Z_LOG_INSTANCE_REGISTER(_module_name, _inst_name, _level)))
__UINT32_TYPE__ uint32_t
Definition: stdint.h:60
__UINT8_TYPE__ uint8_t
Definition: stdint.h:58
Constant data associated with the source of log messages.
Definition: log_instance.h:16
uint8_t level
Definition: log_instance.h:18
const char * name
Definition: log_instance.h:17
Dynamic data associated with the source of log messages.
Definition: log_instance.h:29
uint32_t filters
Definition: log_instance.h:30