diff mbox series

[U-Boot,039/126] log: Add log_nop() to avoid unused-variable warnings

Message ID 20190925145750.200592-40-sjg@chromium.org
State Accepted
Commit fd42948fc9868207573992eaabf4f3e8144a3d1e
Delegated to: Bin Meng
Headers show
Series x86: Add initial support for apollolake | expand

Commit Message

Simon Glass Sept. 25, 2019, 2:56 p.m. UTC
If a log statement includes a variable and logging is disabled, this can
generate warnings about unused variables. Add a bit more complexity to the
macros to avoid this for the common case.

Signed-off-by: Simon Glass <sjg@chromium.org>
---

 include/log.h | 33 ++++++++++++++++++++++++++-------
 1 file changed, 26 insertions(+), 7 deletions(-)

Comments

Bin Meng Oct. 5, 2019, 2:42 p.m. UTC | #1
On Wed, Sep 25, 2019 at 10:58 PM Simon Glass <sjg@chromium.org> wrote:
>
> If a log statement includes a variable and logging is disabled, this can
> generate warnings about unused variables. Add a bit more complexity to the
> macros to avoid this for the common case.
>
> Signed-off-by: Simon Glass <sjg@chromium.org>
> ---
>
>  include/log.h | 33 ++++++++++++++++++++++++++-------
>  1 file changed, 26 insertions(+), 7 deletions(-)
>

Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Bin Meng Oct. 6, 2019, 11:20 a.m. UTC | #2
On Sat, Oct 5, 2019 at 10:42 PM Bin Meng <bmeng.cn@gmail.com> wrote:
>
> On Wed, Sep 25, 2019 at 10:58 PM Simon Glass <sjg@chromium.org> wrote:
> >
> > If a log statement includes a variable and logging is disabled, this can
> > generate warnings about unused variables. Add a bit more complexity to the
> > macros to avoid this for the common case.
> >
> > Signed-off-by: Simon Glass <sjg@chromium.org>
> > ---
> >
> >  include/log.h | 33 ++++++++++++++++++++++++++-------
> >  1 file changed, 26 insertions(+), 7 deletions(-)
> >
>
> Reviewed-by: Bin Meng <bmeng.cn@gmail.com>

applied to u-boot-x86/next, thanks!
diff mbox series

Patch

diff --git a/include/log.h b/include/log.h
index 6d15e955d7e..d8f18a6afdf 100644
--- a/include/log.h
+++ b/include/log.h
@@ -76,6 +76,18 @@  int _log(enum log_category_t cat, enum log_level_t level, const char *file,
 	 int line, const char *func, const char *fmt, ...)
 		__attribute__ ((format (__printf__, 6, 7)));
 
+static inline int _log_nop(enum log_category_t cat, enum log_level_t level,
+			   const char *file, int line, const char *func,
+			   const char *fmt, ...)
+		__attribute__ ((format (__printf__, 6, 7)));
+
+static inline int _log_nop(enum log_category_t cat, enum log_level_t level,
+			   const char *file, int line, const char *func,
+			   const char *fmt, ...)
+{
+	return 0;
+}
+
 /* Define this at the top of a file to add a prefix to debug messages */
 #ifndef pr_fmt
 #define pr_fmt(fmt) fmt
@@ -101,13 +113,14 @@  int _log(enum log_category_t cat, enum log_level_t level, const char *file,
 #define log_io(_fmt...)		log(LOG_CATEGORY, LOGL_DEBUG_IO, ##_fmt)
 #else
 #define _LOG_MAX_LEVEL LOGL_INFO
-#define log_err(_fmt...)
-#define log_warning(_fmt...)
-#define log_notice(_fmt...)
-#define log_info(_fmt...)
-#define log_debug(_fmt...)
-#define log_content(_fmt...)
-#define log_io(_fmt...)
+#define log_err(_fmt...)	log_nop(LOG_CATEGORY, LOGL_ERR, ##_fmt)
+#define log_warning(_fmt...)	log_nop(LOG_CATEGORY, LOGL_WARNING, ##_fmt)
+#define log_notice(_fmt...)	log_nop(LOG_CATEGORY, LOGL_NOTICE, ##_fmt)
+#define log_info(_fmt...)	log_nop(LOG_CATEGORY, LOGL_INFO, ##_fmt)
+#define log_debug(_fmt...)	log_nop(LOG_CATEGORY, LOGL_DEBUG, ##_fmt)
+#define log_content(_fmt...)	log_nop(LOG_CATEGORY, \
+					LOGL_DEBUG_CONTENT, ##_fmt)
+#define log_io(_fmt...)		log_nop(LOG_CATEGORY, LOGL_DEBUG_IO, ##_fmt)
 #endif
 
 #if CONFIG_IS_ENABLED(LOG)
@@ -129,6 +142,12 @@  int _log(enum log_category_t cat, enum log_level_t level, const char *file,
 #define log(_cat, _level, _fmt, _args...)
 #endif
 
+#define log_nop(_cat, _level, _fmt, _args...) ({ \
+	int _l = _level; \
+	_log_nop((enum log_category_t)(_cat), _l, __FILE__, __LINE__, \
+		      __func__, pr_fmt(_fmt), ##_args); \
+})
+
 #ifdef DEBUG
 #define _DEBUG	1
 #else