1/* 2 * linux/include/asm-arm/atomic.h 3 * 4 * Copyright (c) 1996 Russell King. 5 * 6 * This program is free software; you can redistribute it and/or modify 7 * it under the terms of the GNU General Public License version 2 as 8 * published by the Free Software Foundation. 9 * 10 * Changelog: 11 * 27-06-1996 RMK Created 12 * 13-04-1997 RMK Made functions atomic! 13 * 07-12-1997 RMK Upgraded for v2.1. 14 * 26-08-1998 PJB Added #ifdef __KERNEL__ 15 */ 16#ifndef __ASM_ARM_ATOMIC_H 17#define __ASM_ARM_ATOMIC_H 18 19#ifdef CONFIG_SMP 20#error SMP not supported 21#endif 22 23#include <asm/proc-armv/system.h> 24#include <asm-generic/atomic.h> 25 26/* Atomic operations are already serializing on ARM */ 27#define smp_mb__before_atomic_dec() barrier() 28#define smp_mb__after_atomic_dec() barrier() 29#define smp_mb__before_atomic_inc() barrier() 30#define smp_mb__after_atomic_inc() barrier() 31 32#endif 33