Merge with master.kernel.org:/home/rmk/linux-2.6-rmk.git

This adds the missing arch/arm/lib/bitops.h file.

+33
+33
arch/arm/lib/bitops.h
··· 1 + .macro bitop, instr 2 + and r2, r0, #7 3 + mov r3, #1 4 + mov r3, r3, lsl r2 5 + save_and_disable_irqs ip, r2 6 + ldrb r2, [r1, r0, lsr #3] 7 + \instr r2, r2, r3 8 + strb r2, [r1, r0, lsr #3] 9 + restore_irqs ip 10 + mov pc, lr 11 + .endm 12 + 13 + /** 14 + * testop - implement a test_and_xxx_bit operation. 15 + * @instr: operational instruction 16 + * @store: store instruction 17 + * 18 + * Note: we can trivially conditionalise the store instruction 19 + * to avoid dirting the data cache. 20 + */ 21 + .macro testop, instr, store 22 + add r1, r1, r0, lsr #3 23 + and r3, r0, #7 24 + mov r0, #1 25 + save_and_disable_irqs ip, r2 26 + ldrb r2, [r1] 27 + tst r2, r0, lsl r3 28 + \instr r2, r2, r0, lsl r3 29 + \store r2, [r1] 30 + restore_irqs ip 31 + moveq r0, #0 32 + mov pc, lr 33 + .endm