/*
 * linux/arch/unicore32/include/asm/mutex.h
 *
 * Code specific to PKUnity SoC and UniCore ISA
 *
 * Copyright (C) 2001-2010 GUAN Xue-tao
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 as
 * published by the Free Software Foundation.
 *
 * UniCore optimized mutex locking primitives
 *
 * Please look into asm-generic/mutex-xchg.h for a formal definition.
 */
#ifndef __UNICORE_MUTEX_H__
#define __UNICORE_MUTEX_H__

# include <asm-generic/mutex-xchg.h>
#endif
