OMAP3: Warning: swp{b} use is deprecated for this architecture

Russell King - ARM Linux linux at arm.linux.org.uk
Thu Dec 16 06:56:57 EST 2010


On Thu, Dec 16, 2010 at 12:49:43PM +0100, Jean Pihet wrote:
> Hi,
> 
> The following warning is issued by the compiler (gcc version 4.4.1
> (Sourcery G++ Lite 2010q1-202):
> arch/arm/mach-omap2/sleep34xx.S:87: Warning: swp{b} use is deprecated
> for this architecture
> 
> Does this need fixing? If so any hint on how to do it?
> 
> Here is the offending code excerpt:
> 
> wait_sem:
>         mov     r0,#1
>         ldr     r1, sdrc_scratchpad_sem
> wait_loop:
>         ldr     r2, [r1]        @ load the lock value
>         cmp     r2, r0          @ is the lock free ?
>         beq     wait_loop       @ not free...
>         swp     r2, r0, [r1]    @ semaphore free so lock it and proceed
>         cmp     r2, r0          @ did we succeed ?
>         beq     wait_sem        @ no - try again

(untested, as my LDP is useless because of OMAP regressions.)

wait_sem:
	mov	r0, #1
	ldr	r1, sdrc_scratchpad_sem
wait_loop:
	ldrex	r2, [r1]	@ load lock value
	teq	r2, r0		@ is lock free ( != 1)
	beq	wait_loop	@ no, try again
	strex	r2, r0, [r1]	@ try to lock
	teq	r2, #0		@ did store succeed?
	bne	wait_loop	@ no, try again



More information about the linux-arm-kernel mailing list