blob: e8a5e492eb5fbc5e7415d2102bef079b97e88c32 [file] [log] [blame]
Mark Rutlandace9bad2018-09-04 11:48:25 +01001cat <<EOF
2/**
Peter Zijlstra37f81732020-01-24 22:13:03 +01003 * ${arch}${atomic}_dec_and_test - decrement and test
Mark Rutlandace9bad2018-09-04 11:48:25 +01004 * @v: pointer of type ${atomic}_t
5 *
6 * Atomically decrements @v by 1 and
7 * returns true if the result is 0, or false for all other
8 * cases.
9 */
Marco Elver765dcd22019-11-26 15:04:05 +010010static __always_inline bool
Peter Zijlstra37f81732020-01-24 22:13:03 +010011${arch}${atomic}_dec_and_test(${atomic}_t *v)
Mark Rutlandace9bad2018-09-04 11:48:25 +010012{
Peter Zijlstra37f81732020-01-24 22:13:03 +010013 return ${arch}${atomic}_dec_return(v) == 0;
Mark Rutlandace9bad2018-09-04 11:48:25 +010014}
15EOF