linux/arch/mips/include/asm/spinlock.h
<<
>>
Prefs
   1/*
   2 * This file is subject to the terms and conditions of the GNU General Public
   3 * License.  See the file "COPYING" in the main directory of this archive
   4 * for more details.
   5 *
   6 * Copyright (C) 1999, 2000, 06 Ralf Baechle (ralf@linux-mips.org)
   7 * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
   8 */
   9#ifndef _ASM_SPINLOCK_H
  10#define _ASM_SPINLOCK_H
  11
  12#include <asm/processor.h>
  13
  14#include <asm-generic/qspinlock_types.h>
  15
  16#define queued_spin_unlock queued_spin_unlock
  17/**
  18 * queued_spin_unlock - release a queued spinlock
  19 * @lock : Pointer to queued spinlock structure
  20 */
  21static inline void queued_spin_unlock(struct qspinlock *lock)
  22{
  23        /* This could be optimised with ARCH_HAS_MMIOWB */
  24        mmiowb();
  25        smp_store_release(&lock->locked, 0);
  26}
  27
  28#include <asm/qspinlock.h>
  29#include <asm/qrwlock.h>
  30
  31#endif /* _ASM_SPINLOCK_H */
  32