Changeset View
Changeset View
Standalone View
Standalone View
sys/compat/linuxkpi/common/include/linux/spinlock.h
Show All 25 Lines | |||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF | ||||
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||||
* | * | ||||
* $FreeBSD$ | * $FreeBSD$ | ||||
*/ | */ | ||||
#ifndef _LINUX_SPINLOCK_H_ | #ifndef _LINUX_SPINLOCK_H_ | ||||
#define _LINUX_SPINLOCK_H_ | #define _LINUX_SPINLOCK_H_ | ||||
#include <asm/atomic.h> | |||||
#include <sys/param.h> | #include <sys/param.h> | ||||
#include <sys/kernel.h> | #include <sys/kernel.h> | ||||
#include <sys/lock.h> | #include <sys/lock.h> | ||||
#include <sys/mutex.h> | #include <sys/mutex.h> | ||||
#include <sys/kdb.h> | #include <sys/kdb.h> | ||||
#include <linux/compiler.h> | #include <linux/compiler.h> | ||||
#include <linux/rwlock.h> | #include <linux/rwlock.h> | ||||
▲ Show 20 Lines • Show All 112 Lines • ▼ Show 20 Lines | #define DEFINE_SPINLOCK(lock) \ | ||||
spinlock_t lock; \ | spinlock_t lock; \ | ||||
MTX_SYSINIT(lock, &(lock).m, spin_lock_name("lnxspin"), MTX_DEF) | MTX_SYSINIT(lock, &(lock).m, spin_lock_name("lnxspin"), MTX_DEF) | ||||
#define assert_spin_locked(_l) do { \ | #define assert_spin_locked(_l) do { \ | ||||
if (SPIN_SKIP()) \ | if (SPIN_SKIP()) \ | ||||
break; \ | break; \ | ||||
mtx_assert(&(_l)->m, MA_OWNED); \ | mtx_assert(&(_l)->m, MA_OWNED); \ | ||||
} while (0) | } while (0) | ||||
static inline int | |||||
atomic_dec_and_lock_irqsave(atomic_t *cnt, spinlock_t *lock, | |||||
unsigned long flags) | |||||
{ | |||||
spin_lock_irqsave(lock, flags); | |||||
if (atomic_dec_and_test(cnt)) { | |||||
hselasky: Don't need brackets around this return. | |||||
return (1); | |||||
} | |||||
spin_unlock_irqrestore(lock, flags); | |||||
return (0); | |||||
hselaskyUnsubmitted Not Done Inline ActionsParenthesis around return result is fine. hselasky: Parenthesis around return result is fine. | |||||
} | |||||
#endif /* _LINUX_SPINLOCK_H_ */ | #endif /* _LINUX_SPINLOCK_H_ */ |
Don't need brackets around this return.