aml_i2c设备驱动程序中有此代码。它定义了一个宏。但是有一个do while循环似乎不应该存在。它不会产生任何循环,并且代码将执行一次。这样做的目的是什么?
#define AML_I2C_ASSERT(X) \
do { \
if (unlikely(!(X))) { \
printf("\n"); \
printf("CacheFiles: Assertion failed\n"); \
BUG(); \
} \
} while (0)