I think this is my favourite C macro to this day.

Also, TIL you can put while loops in there, and some people actually DO that.

Ghidra is easier to read here. xD

for ref:
https://github.com/u-boot/u-boot/blob/7027b445cc0bfb86204ecb1f1fe596f5895048d9/arch/arm/include/asm/arch-rockchip/sdram_common.h#L314

@CyReVolt do while(0) loop is usual trick in case of macro to be able to add semicolon after macro without complaints (and yes most people want semicolon there for *various* reason (external linters etc.)

#preprocessor sux