xref: /linux/scripts/atomic/fallbacks/fetch_add_unless (revision cdd5b5a9761fd66d17586e4f4ba6588c70e640ea)
1 cat << EOF
2 	${int} c = raw_${atomic}_read(v);
3 
4 	do {
5 		if (unlikely(c == u))
6 			break;
7 	} while (!raw_${atomic}_try_cmpxchg(v, &c, c + a));
8 
9 	return c;
10 EOF
11