linux/arch/avr32
Peter Zijlstra d325209b60 locking,arch,avr32: Fold atomic_ops
Many of the atomic op implementations are the same except for one
instruction; fold the lot into a few CPP macros and reduce LoC.

This also prepares for easy addition of new ops.

Requires the asm_op because of eor.

AVR32 is a bit special in that its ADD/SUB instructions are not
symmetric. Its SUB instruction allows for an 21bit immediate.

Signed-off-by: Peter Zijlstra <peterz@infradead.org>
Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Cc: Haavard Skinnemoen <hskinnemoen@gmail.com>
Cc: Hans-Christian Egtvedt <egtvedt@samfundet.no>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Link: http://lkml.kernel.org/r/20140531141445.GD16155@laptop.programming.kicks-ass.net
Signed-off-by: Ingo Molnar <mingo@kernel.org>
2014-08-14 12:48:05 +02:00
..
boards misc: delete mimc200 fram driver 2014-02-28 15:08:46 -08:00
boot avr32: fix out-of-range jump in large kernels 2013-11-20 09:53:21 +01:00
configs USB: delete CONFIG_USB_DEVICEFS from defconfig 2014-05-27 16:07:13 -07:00
include locking,arch,avr32: Fold atomic_ops 2014-08-14 12:48:05 +02:00
kernel avr32: replace simple_strtoul() with kstrtoul() 2014-04-01 09:09:25 +02:00
lib ARCH: drivers remove __dev* attributes. 2013-01-03 15:57:13 -08:00
mach-at32ap avr32: pm: Fix section mismatch 2013-12-10 08:46:38 +01:00
mm arch/avr32/mm/cache.c: export symbol flush_icache_range() for module using 2014-03-31 08:41:52 +02:00
oprofile oprofilefs_create_...() do not need superblock argument 2013-09-03 22:52:48 -04:00
Kconfig Remove GENERIC_HARDIRQ config option 2013-09-13 15:09:52 +02:00
Kconfig.debug [AVR32] Include instrumentation menu 2008-01-25 08:31:40 +01:00
Makefile avr32: Makefile: add '-D__linux__' flag for gcc-4.4.7 use 2014-02-17 11:24:43 +01:00