xref: /linux/scripts/atomic/fallbacks/inc_and_test (revision ace9bad4df2684f31cbfe8c4ce7a0f5d92b27925)
1*ace9bad4SMark Rutlandcat <<EOF
2*ace9bad4SMark Rutland/**
3*ace9bad4SMark Rutland * ${atomic}_inc_and_test - increment and test
4*ace9bad4SMark Rutland * @v: pointer of type ${atomic}_t
5*ace9bad4SMark Rutland *
6*ace9bad4SMark Rutland * Atomically increments @v by 1
7*ace9bad4SMark Rutland * and returns true if the result is zero, or false for all
8*ace9bad4SMark Rutland * other cases.
9*ace9bad4SMark Rutland */
10*ace9bad4SMark Rutlandstatic inline bool
11*ace9bad4SMark Rutland${atomic}_inc_and_test(${atomic}_t *v)
12*ace9bad4SMark Rutland{
13*ace9bad4SMark Rutland	return ${atomic}_inc_return(v) == 0;
14*ace9bad4SMark Rutland}
15*ace9bad4SMark RutlandEOF
16