diff --git a/include/sbi/riscv_locks.h b/include/sbi/riscv_locks.h index 492935f5d..38d9cbeb7 100644 --- a/include/sbi/riscv_locks.h +++ b/include/sbi/riscv_locks.h @@ -34,9 +34,9 @@ typedef struct { #define DEFINE_SPIN_LOCK(x) \ spinlock_t SPIN_LOCK_INIT(x) -int spin_lock_check(spinlock_t *lock); +bool spin_lock_check(spinlock_t *lock); -int spin_trylock(spinlock_t *lock); +bool spin_trylock(spinlock_t *lock); void spin_lock(spinlock_t *lock); diff --git a/lib/sbi/riscv_locks.c b/lib/sbi/riscv_locks.c index 75b443bd3..acab77692 100644 --- a/lib/sbi/riscv_locks.c +++ b/lib/sbi/riscv_locks.c @@ -8,7 +8,7 @@ #include #include -static inline int spin_lock_unlocked(spinlock_t lock) +static inline bool spin_lock_unlocked(spinlock_t lock) { return lock.owner == lock.next; } @@ -19,7 +19,7 @@ bool spin_lock_check(spinlock_t *lock) return !spin_lock_unlocked(*lock); } -int spin_trylock(spinlock_t *lock) +bool spin_trylock(spinlock_t *lock) { unsigned long inc = 1u << TICKET_SHIFT; unsigned long mask = 0xffffu << TICKET_SHIFT; @@ -42,7 +42,7 @@ int spin_trylock(spinlock_t *lock) : "r"(inc), "r"(mask), "I"(TICKET_SHIFT) : "memory"); - return !l0; + return l0 == 0; } void spin_lock(spinlock_t *lock)