[coreboot-gerrit] Patch set updated for coreboot: src/include: Add do { } while(0) around macros
Lee Leahy (leroy.p.leahy@intel.com)
gerrit at coreboot.org
Wed Mar 8 20:06:10 CET 2017
Lee Leahy (leroy.p.leahy at intel.com) just uploaded a new patch set to gerrit, which you can find at https://review.coreboot.org/18644
-gerrit
commit 139beee9c110f70c6930e30690bdff30fd506a36
Author: Lee Leahy <leroy.p.leahy at intel.com>
Date: Tue Mar 7 12:01:02 2017 -0800
src/include: Add do { } while(0) around macros
Fix the following error detected by checkpatch.py:
ERROR: Macros with multiple statements should be enclosed in a do - while loop
False positives are generated when assembly code is used in a macro. An
example is:
ERROR: Macros with multiple statements should be enclosed in a do - while loop
+#define post_code(value) \
+ movb $value, %al; \
+ outb %al, $CONFIG_POST_IO_PORT
False positives are also generated for linker script include files. An
example is:
ERROR: Macros with multiple statements should be enclosed in a do - while loop
+#define SET_COUNTER(name, addr) \
+ _ = ASSERT(. <= addr, STR(name overlaps the previous region!));
\
+ . = addr;
False positives are also generated for attribute macros. An example is:
ERROR: Macros with multiple statements should be enclosed in a do - while loop
+#define DISABLE_TRACE_ON_FUNCTION __attribute__
((no_instrument_function));
TEST=Build and run on Galileo Gen2
Change-Id: I88abf96579e906f6962d558a3d09907f07d00b1c
Signed-off-by: Lee Leahy <Leroy.P.Leahy at intel.com>
---
src/include/bootstate.h | 14 +++++++++-----
1 file changed, 9 insertions(+), 5 deletions(-)
diff --git a/src/include/bootstate.h b/src/include/bootstate.h
index 481a8bc..8f2f8b8 100644
--- a/src/include/bootstate.h
+++ b/src/include/bootstate.h
@@ -124,8 +124,10 @@ struct boot_state_callback {
#if IS_ENABLED(CONFIG_DEBUG_BOOT_STATE)
#define BOOT_STATE_CALLBACK_LOC __FILE__ ":" STRINGIFY(__LINE__)
#define BOOT_STATE_CALLBACK_INIT_DEBUG .location = BOOT_STATE_CALLBACK_LOC,
-#define INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_) \
- bscb_->location = BOOT_STATE_CALLBACK_LOC;
+#define INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_) \
+ do { \
+ bscb_->location = BOOT_STATE_CALLBACK_LOC; \
+ } while (0)
#else
#define BOOT_STATE_CALLBACK_INIT_DEBUG
#define INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_)
@@ -144,9 +146,11 @@ struct boot_state_callback {
/* Initialize an allocated boot_state_callback. */
#define INIT_BOOT_STATE_CALLBACK(bscb_, func_, arg_) \
- INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_) \
- bscb_->callback = func_; \
- bscb_->arg = arg_
+ do { \
+ INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_) \
+ bscb_->callback = func_; \
+ bscb_->arg = arg_ \
+ } while(0)
/* The following 2 functions schedule a callback to be called on entry/exit
* to a given state. Note that there are no ordering guarantees between the
More information about the coreboot-gerrit
mailing list