aboutsummaryrefslogtreecommitdiffstats
path: root/arch/sh/include/asm/cmpxchg-llsc.h (follow)
AgeCommit message (Collapse)AuthorFilesLines
2009-06-11sh: Fix sh4a llsc-based cmpxchg()Aoi Shinkai1-1/+1
This fixes up a typo in the ll/sc based cmpxchg code which apparently wasn't getting a lot of testing due to the swapped old/new pair. With that fixed up, the ll/sc code also starts using it and provides its own atomic_add_unless(). Signed-off-by: Aoi Shinkai <shinkoi2005@gmail.com> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2009-01-29sh: Relax inline assembly constraintsMatt Fleming1-19/+19
When dereferencing the memory address contained in a register and modifying the value at that memory address, the register should not be listed in the inline asm outputs. The value at the memory address is an output (which is taken care of with the "memory" clobber), not the register. Signed-off-by: Matt Fleming <matt@console-pimps.org> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
2008-09-08sh: Provide movli.l/movco.l-based cmpxchg.Paul Mundt1-0/+71
Signed-off-by: Paul Mundt <lethal@linux-sh.org>