xref: /linux/scripts/atomic/fallbacks/set_release (revision 9257959a6e5b4fca6fc8e985790bff62c2046f20)
1ace9bad4SMark Rutlandcat <<EOF
2765dcd20SMarco Elverstatic __always_inline void
3*9257959aSMark Rutlandraw_${atomic}_set_release(${atomic}_t *v, ${int} i)
4ace9bad4SMark Rutland{
5dc1b4df0SMark Rutland	if (__native_word(${atomic}_t)) {
6ace9bad4SMark Rutland		smp_store_release(&(v)->counter, i);
7dc1b4df0SMark Rutland	} else {
8dc1b4df0SMark Rutland		__atomic_release_fence();
9*9257959aSMark Rutland		raw_${atomic}_set(v, i);
10dc1b4df0SMark Rutland	}
11ace9bad4SMark Rutland}
12ace9bad4SMark RutlandEOF
13