xref: /linux/scripts/atomic/fallbacks/sub_and_test (revision ace9bad4df2684f31cbfe8c4ce7a0f5d92b27925)
1*ace9bad4SMark Rutlandcat <<EOF
2*ace9bad4SMark Rutland/**
3*ace9bad4SMark Rutland * ${atomic}_sub_and_test - subtract value from variable and test result
4*ace9bad4SMark Rutland * @i: integer value to subtract
5*ace9bad4SMark Rutland * @v: pointer of type ${atomic}_t
6*ace9bad4SMark Rutland *
7*ace9bad4SMark Rutland * Atomically subtracts @i from @v and returns
8*ace9bad4SMark Rutland * true if the result is zero, or false for all
9*ace9bad4SMark Rutland * other cases.
10*ace9bad4SMark Rutland */
11*ace9bad4SMark Rutlandstatic inline bool
12*ace9bad4SMark Rutland${atomic}_sub_and_test(${int} i, ${atomic}_t *v)
13*ace9bad4SMark Rutland{
14*ace9bad4SMark Rutland	return ${atomic}_sub_return(i, v) == 0;
15*ace9bad4SMark Rutland}
16*ace9bad4SMark RutlandEOF
17