Linux Audio

Check our new training course

Linux kernel drivers training

Mar 31-Apr 9, 2025, special US time zones
Register
Loading...
v6.13.7
 1cat <<EOF
 2	${int} dec, c = raw_${atomic}_read(v);
 3
 4	do {
 5		dec = c - 1;
 6		if (unlikely(dec < 0))
 7			break;
 8	} while (!raw_${atomic}_try_cmpxchg(v, &c, dec));
 9
10	return dec;
11EOF
v6.8
 1cat <<EOF
 2	${int} dec, c = raw_${atomic}_read(v);
 3
 4	do {
 5		dec = c - 1;
 6		if (unlikely(dec < 0))
 7			break;
 8	} while (!raw_${atomic}_try_cmpxchg(v, &c, dec));
 9
10	return dec;
11EOF