cat << EOF
/**
 * ${arch}${atomic}_fetch_add_unless - add unless the number is already a given value
 * @v: pointer of type ${atomic}_t
 * @a: the amount to add to v...
 * @u: ...unless v is equal to u.
 *
 * Atomically adds @a to @v, so long as @v was not already @u.
 * Returns original value of @v
 */
static __always_inline ${int}
${arch}${atomic}_fetch_add_unless(${atomic}_t *v, ${int} a, ${int} u)
{
	${int} c = ${arch}${atomic}_read(v);

	do {
		if (unlikely(c == u))
			break;
	} while (!${arch}${atomic}_try_cmpxchg(v, &c, c + a));

	return c;
}
EOF
