ARM: clean up idle handlers
authorNicolas Pitre <nicolas.pitre@linaro.org>
Mon, 1 Aug 2011 21:25:06 +0000 (17:25 -0400)
committerNicolas Pitre <nico@fluxnic.net>
Fri, 20 Jan 2012 23:55:05 +0000 (18:55 -0500)
commit4fa20439a80c008d33f2865b0db94dcb5da467e2
treeb11eb45155ffe12131716e7c4c8742276187fdf9
parent3c0b2cef913c8f92b15a5a1fe7b611836f7f80bf
ARM: clean up idle handlers

Let's factor out the need_resched() check instead of having it duplicated
in every pm_idle implementations to avoid inconsistencies (omap2_pm_idle
is missing it already).

The forceful re-enablement of IRQs after pm_idle has returned can go.
The warning certainly doesn't trigger for existing users.

To get rid of the pm_idle calling convention oddity, let's introduce
arm_pm_idle() allowing for the local_irq_enable() to be factored out
from SOC specific implementations. The default pm_idle function becomes
a wrapper for arm_pm_idle and it takes care of enabling IRQs closer to
where they are initially disabled.

And finally move the comment explaining the reason for that turning off
of IRQs to a more proper location.

Signed-off-by: Nicolas Pitre <nicolas.pitre@linaro.org>
Acked-and-tested-by: Jamie Iles <jamie@jamieiles.com>
arch/arm/include/asm/system.h
arch/arm/kernel/process.c