18c2ecf20Sopenharmony_cicat <<EOF
28c2ecf20Sopenharmony_ci/**
38c2ecf20Sopenharmony_ci * ${arch}${atomic}_inc_and_test - increment and test
48c2ecf20Sopenharmony_ci * @v: pointer of type ${atomic}_t
58c2ecf20Sopenharmony_ci *
68c2ecf20Sopenharmony_ci * Atomically increments @v by 1
78c2ecf20Sopenharmony_ci * and returns true if the result is zero, or false for all
88c2ecf20Sopenharmony_ci * other cases.
98c2ecf20Sopenharmony_ci */
108c2ecf20Sopenharmony_cistatic __always_inline bool
118c2ecf20Sopenharmony_ci${arch}${atomic}_inc_and_test(${atomic}_t *v)
128c2ecf20Sopenharmony_ci{
138c2ecf20Sopenharmony_ci	return ${arch}${atomic}_inc_return(v) == 0;
148c2ecf20Sopenharmony_ci}
158c2ecf20Sopenharmony_ciEOF
16