summaryrefslogtreecommitdiffstats
path: root/arch/powerpc/include/asm/vdso.h
diff options
context:
space:
mode:
authorGeoff Thorpe <geoff@geoffthorpe.net>2009-07-07 15:23:56 +0000
committerBenjamin Herrenschmidt <benh@kernel.crashing.org>2009-08-20 10:12:23 +1000
commit0d2d3e38f72e400f602dade3f0ddffe0b3b9d4df (patch)
tree3c5b6503f63e0d3ae9e56133633ffbc5eb27c630 /arch/powerpc/include/asm/vdso.h
parent11a6b292c1bc9cb39970e44edd6958250f23d3a8 (diff)
downloadblackbird-op-linux-0d2d3e38f72e400f602dade3f0ddffe0b3b9d4df.tar.gz
blackbird-op-linux-0d2d3e38f72e400f602dade3f0ddffe0b3b9d4df.zip
powerpc: expose the multi-bit ops that underlie single-bit ops.
The bitops.h functions that operate on a single bit in a bitfield are implemented by operating on the corresponding word location. In all cases the inner logic is valid if the mask being applied has more than one bit set, so this patch exposes those inner operations. Indeed, set_bits() was already available, but it duplicated code from set_bit() (rather than making the latter a wrapper) - it was also missing the PPC405_ERR77() workaround and the "volatile" address qualifier present in other APIs. This corrects that, and exposes the other multi-bit equivalents. One advantage of these multi-bit forms is that they allow word-sized variables to essentially be their own spinlocks, eg. very useful for state machines where an atomic "flags" variable can obviate the need for any additional locking. Signed-off-by: Geoff Thorpe <geoff@geoffthorpe.net> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'arch/powerpc/include/asm/vdso.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud