summaryrefslogtreecommitdiffstats
path: root/lib/refcount.c
diff options
context:
space:
mode:
authorMark Rutland <mark.rutland@arm.com>2018-06-21 13:13:21 +0100
committerIngo Molnar <mingo@kernel.org>2018-06-21 14:25:24 +0200
commit7cc7eaad49c30ac165ecf84d95b26f7e0d53bd97 (patch)
tree0b1476f680f75f9e8e704e2d86195db23a082887 /lib/refcount.c
parentb3a2a05f9111de0b79312e577608a27b0318c0a1 (diff)
downloadlinux-stable-7cc7eaad49c30ac165ecf84d95b26f7e0d53bd97.tar.gz
linux-stable-7cc7eaad49c30ac165ecf84d95b26f7e0d53bd97.tar.bz2
linux-stable-7cc7eaad49c30ac165ecf84d95b26f7e0d53bd97.zip
atomics/treewide: Clean up '*_andnot()' ifdeffery
The ifdeffery for atomic*_{fetch_,}andnot() is unlike that for all the other atomics. If atomic*_andnot() is not defined, the corresponding atomic*_fetch_andnot() is assumed to not be defined. Additionally, the fallbacks for the various ordering cases are written much later in atomic.h as static inlines. This isn't problematic today, but gets in the way of scripting the generation of atomics. To prepare for scripting, this patch: * Switches to separate ifdefs for atomic*_andnot() and atomic*_fetch_andnot(), updating implementations as appropriate. * Moves the fallbacks into the standards ifdefs, as macro expansions rather than static inlines. * Removes trivial andnot implementations from architectures, where these are superseded by core code. There should be no functional change as a result of this patch. Signed-off-by: Mark Rutland <mark.rutland@arm.com> Reviewed-by: Will Deacon <will.deacon@arm.com> Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org> Cc: Boqun Feng <boqun.feng@gmail.com> Cc: Linus Torvalds <torvalds@linux-foundation.org> Cc: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/lkml/20180621121321.4761-19-mark.rutland@arm.com Signed-off-by: Ingo Molnar <mingo@kernel.org>
Diffstat (limited to 'lib/refcount.c')
0 files changed, 0 insertions, 0 deletions