看到了,非常感谢!不过我还是不太明白,既然有include/asm/spinlock.h为什么这里还要定义spin_unlock之类的函数啊?比如在include/asm-arm/spinlock.h中有#error ARM architecture does not support SMP spi ...
自旋锁是和架构相关的, 可能有些不支持.
那个循环是 while (0) , 表示只循环一次.
do {} while (0) 在内核中很常见, 至于为什么要使用这样的方式, 你google一下, 很多讲解的.