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