Home | History | Annotate | Download | only in lib
      1 /*
      2  * Copyright (c) 2013-2017, ARM Limited and Contributors. All rights reserved.
      3  *
      4  * SPDX-License-Identifier: BSD-3-Clause
      5  */
      6 
      7 #ifndef __SPINLOCK_H__
      8 #define __SPINLOCK_H__
      9 
     10 #ifndef __ASSEMBLY__
     11 
     12 #include <types.h>
     13 
     14 typedef struct spinlock {
     15 	volatile uint32_t lock;
     16 } spinlock_t;
     17 
     18 void spin_lock(spinlock_t *lock);
     19 void spin_unlock(spinlock_t *lock);
     20 
     21 #else
     22 
     23 /* Spin lock definitions for use in assembly */
     24 #define SPINLOCK_ASM_ALIGN	2
     25 #define SPINLOCK_ASM_SIZE	4
     26 
     27 #endif
     28 
     29 #endif /* __SPINLOCK_H__ */
     30