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>
This commit is contained in:
		| @@ -124,8 +124,10 @@ struct boot_state_callback { | |||||||
| #if IS_ENABLED(CONFIG_DEBUG_BOOT_STATE) | #if IS_ENABLED(CONFIG_DEBUG_BOOT_STATE) | ||||||
| #define BOOT_STATE_CALLBACK_LOC __FILE__ ":" STRINGIFY(__LINE__) | #define BOOT_STATE_CALLBACK_LOC __FILE__ ":" STRINGIFY(__LINE__) | ||||||
| #define BOOT_STATE_CALLBACK_INIT_DEBUG .location = BOOT_STATE_CALLBACK_LOC, | #define BOOT_STATE_CALLBACK_INIT_DEBUG .location = BOOT_STATE_CALLBACK_LOC, | ||||||
| #define INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_) \ | #define INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_) 			\ | ||||||
| 	bscb_->location = BOOT_STATE_CALLBACK_LOC; | 	do {							\ | ||||||
|  | 		bscb_->location = BOOT_STATE_CALLBACK_LOC;	\ | ||||||
|  | 	} while (0) | ||||||
| #else | #else | ||||||
| #define BOOT_STATE_CALLBACK_INIT_DEBUG | #define BOOT_STATE_CALLBACK_INIT_DEBUG | ||||||
| #define INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_) | #define INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_) | ||||||
| @@ -144,9 +146,11 @@ struct boot_state_callback { | |||||||
|  |  | ||||||
| /* Initialize an allocated boot_state_callback. */ | /* Initialize an allocated boot_state_callback. */ | ||||||
| #define INIT_BOOT_STATE_CALLBACK(bscb_, func_, arg_)	\ | #define INIT_BOOT_STATE_CALLBACK(bscb_, func_, arg_)	\ | ||||||
| 	INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_)		\ | 	do {						\ | ||||||
| 	bscb_->callback = func_;			\ | 		INIT_BOOT_STATE_CALLBACK_DEBUG(bscb_)	\ | ||||||
| 	bscb_->arg = arg_ | 		bscb_->callback = func_;		\ | ||||||
|  | 		bscb_->arg = arg_			\ | ||||||
|  | 	} while(0) | ||||||
|  |  | ||||||
| /* The following 2 functions schedule a callback to be called on entry/exit | /* 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 |  * to a given state. Note that there are no ordering guarantees between the | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user