diff options
author | Lee Leahy <leroy.p.leahy@intel.com> | 2017-03-07 12:01:02 -0800 |
---|---|---|
committer | Lee Leahy <leroy.p.leahy@intel.com> | 2017-03-09 17:18:02 +0100 |
commit | bb4ae07417c9b3be1af500a62514a2d42467cfb0 (patch) | |
tree | 36bb50ef045fe12ac50e25de03e4a610a658feab | |
parent | e0f5dfc6785c53217c0d97331b3ada46a51cc016 (diff) | |
download | coreboot-bb4ae07417c9b3be1af500a62514a2d42467cfb0.tar.xz |
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@intel.com>
Reviewed-on: https://review.coreboot.org/18644
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martinroth@google.com>
-rw-r--r-- | src/include/bootstate.h | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/include/bootstate.h b/src/include/bootstate.h index 481a8bc54a..8f2f8b8f71 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 |