Merge tag 'amlogic-drivers-for-v5.20' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-block.git] / scripts / atomic / fallbacks / inc_unless_negative
CommitLineData
ace9bad4 1cat <<EOF
765dcd20 2static __always_inline bool
f3e615b4 3arch_${atomic}_inc_unless_negative(${atomic}_t *v)
ace9bad4 4{
f3e615b4 5 ${int} c = arch_${atomic}_read(v);
ace9bad4
MR
6
7 do {
8 if (unlikely(c < 0))
9 return false;
f3e615b4 10 } while (!arch_${atomic}_try_cmpxchg(v, &c, c + 1));
ace9bad4
MR
11
12 return true;
13}
14EOF