1ace9bad4SMark Rutland# name meta args... 2ace9bad4SMark Rutland# 3ace9bad4SMark Rutland# Where meta contains a string of variants to generate. 4ace9bad4SMark Rutland# Upper-case implies _{acquire,release,relaxed} variants. 5ace9bad4SMark Rutland# Valid meta values are: 6ace9bad4SMark Rutland# * B/b - bool: returns bool 7ace9bad4SMark Rutland# * v - void: returns void 8ace9bad4SMark Rutland# * I/i - int: returns base type 9ace9bad4SMark Rutland# * R - return: returns base type (has _return variants) 10ace9bad4SMark Rutland# * F/f - fetch: returns base type (has fetch_ variants) 11ace9bad4SMark Rutland# * l - load: returns base type (has _acquire order variant) 12ace9bad4SMark Rutland# * s - store: returns void (has _release order variant) 13ace9bad4SMark Rutland# 14ace9bad4SMark Rutland# Where args contains list of type[:name], where type is: 15ace9bad4SMark Rutland# * cv - const pointer to atomic base type (atomic_t/atomic64_t/atomic_long_t) 16ace9bad4SMark Rutland# * v - pointer to atomic base type (atomic_t/atomic64_t/atomic_long_t) 17ace9bad4SMark Rutland# * i - base type (int/s64/long) 18ace9bad4SMark Rutland# * p - pointer to base type (int/s64/long) 19ace9bad4SMark Rutland# 20ace9bad4SMark Rutlandread l cv 21ace9bad4SMark Rutlandset s v i 22ace9bad4SMark Rutlandadd vRF i v 23ace9bad4SMark Rutlandsub vRF i v 24ace9bad4SMark Rutlandinc vRF v 25ace9bad4SMark Rutlanddec vRF v 26ace9bad4SMark Rutlandand vF i v 27ace9bad4SMark Rutlandandnot vF i v 28ace9bad4SMark Rutlandor vF i v 29ace9bad4SMark Rutlandxor vF i v 30*1d78814dSMark Rutlandxchg I v i:new 31ace9bad4SMark Rutlandcmpxchg I v i:old i:new 32ace9bad4SMark Rutlandtry_cmpxchg B v p:old i:new 33ace9bad4SMark Rutlandsub_and_test b i v 34ace9bad4SMark Rutlanddec_and_test b v 35ace9bad4SMark Rutlandinc_and_test b v 36e5ab9effSThomas Gleixneradd_negative B i v 37ace9bad4SMark Rutlandadd_unless fb v i:a i:u 38ace9bad4SMark Rutlandinc_not_zero b v 39ace9bad4SMark Rutlandinc_unless_negative b v 40ace9bad4SMark Rutlanddec_unless_positive b v 41ace9bad4SMark Rutlanddec_if_positive i v 42