18c2ecf20Sopenharmony_cicat <<EOF 28c2ecf20Sopenharmony_ci/** 38c2ecf20Sopenharmony_ci * ${arch}${atomic}_inc_not_zero - increment unless the number is zero 48c2ecf20Sopenharmony_ci * @v: pointer of type ${atomic}_t 58c2ecf20Sopenharmony_ci * 68c2ecf20Sopenharmony_ci * Atomically increments @v by 1, if @v is non-zero. 78c2ecf20Sopenharmony_ci * Returns true if the increment was done. 88c2ecf20Sopenharmony_ci */ 98c2ecf20Sopenharmony_cistatic __always_inline bool 108c2ecf20Sopenharmony_ci${arch}${atomic}_inc_not_zero(${atomic}_t *v) 118c2ecf20Sopenharmony_ci{ 128c2ecf20Sopenharmony_ci return ${arch}${atomic}_add_unless(v, 1, 0); 138c2ecf20Sopenharmony_ci} 148c2ecf20Sopenharmony_ciEOF 15