[PATCH RFC] ARM: vexpress: Use assembler mnemonic for WFI in platform_do_lowpower.

Nick Bowler nbowler at elliptictech.com
Fri Aug 19 15:26:38 EDT 2011


On 2011-08-19 19:15 +0100, Jamie Iles wrote:
> On Fri, Aug 19, 2011 at 02:03:24PM -0400, Nick Bowler wrote:
[...]
> > -		/*
> > -		 * here's the WFI
> > -		 */
> > -		asm(".word	0xe320f003\n"
> > +		asm("wfi\n"
> >  		    :
> >  		    :
> >  		    : "memory", "cc");
> 
> There's a wfi() macro defined in arch/arm/include/asm/system.h that 
> could be used here.

Indeed, thanks for pointing that out.

I'm a little wary, however: the wfi macro does not include the "cc"
clobber that this code has currently, and I don't know what the
implications of removing it are.  There appears to be no current
users of the wfi macro.

Taking a closer look, there appear to be five platforms that have a
hardcoded WFI just like the above (including the "cc" clobber):
exynos4, realview, shmobile, tegra and vexpress.  omap defines its
own do_wfi macro, *without* the "cc" clobber.

Nevertheless, using the macro seems to work just fine, so I can
certainly re-spin the patch with that instead.

-- 
Nick Bowler, Elliptic Technologies (http://www.elliptictech.com/)



More information about the linux-arm-kernel mailing list