- 履歴一覧
- ソース を表示
- linux-2.6.33/atomic_add_return(arm) は削除されています。
参照元†
- アトミック値から指定した値を加算し、加算後の値を返す。
- ARMv6 以前の場合は SMP が使用できないので、
SMP を有効にするとコンパイルエラーが起きるようにしている。
返り値†
#if __LINUX_ARM_ARCH__ >= 6
(略)
#else /* ARM_ARCH_6 */
#ifdef CONFIG_SMP
#error SMP not supported on pre-ARMv6 CPUs
- armv6 以前の場合、SMP に対応していないためコンパイルエラーとする。
#endif
static inline int atomic_add_return(int i, atomic_t *v)
{
unsigned long flags;
int val;
raw_local_irq_save(flags);
val = v->counter;
v->counter = val += i;
raw_local_irq_restore(flags);
return val;
}
コメント†