summaryrefslogtreecommitdiff
path: root/arch/arm/mach-ixp4xx
diff options
context:
space:
mode:
authorMikael Pettersson <mikpe@it.uu.se>2009-09-11 02:56:54 +0400
committerKrzysztof Hałasa <khc@pm.waw.pl>2009-09-21 21:20:03 +0400
commit74c32e7234afc4586391c0c0f290d266a3e57fe5 (patch)
tree02e11f07f745e67ecad051988e2cdebb88c9c3fd /arch/arm/mach-ixp4xx
parentceb69a899f0819bce825083bd487c6afacc0d1b4 (diff)
downloadlinux-74c32e7234afc4586391c0c0f290d266a3e57fe5.tar.xz
ixp4xx: arch_idle() documentation fixup
The body of the mach-ixp4xx arch_idle() is mysteriously disabled by an #if 0 .. #endif. Normally one would expect to find a call to cpu_do_idle() there, but that call is disabled, even though cpu_do_idle() is implemented for XScale cores (and ixp4xx is one). The explanation can be found in the ixp42x developer's manual which states that the XScale core clock and power management registers aren't implemented on ixp42x [3.5.2.2]. Also, the disabled code has suffered from bit rot: - it checks hlt_counter which is obsolete, as that variable and all related code now is private to kernel/process.c - it passes too many parameters to cpu_do_idle() So this patch: - adds a comment before the #if 0 to explain why cpu_do_idle() mustn't be called on ixp4xx - removes the obsolete test of hlt_counter and the obsolete parameter to cpu_do_idle() This is purely a documentation fixup and changes no generated code. Even so, it has been tested on an ixp420 machine (ds101). Signed-off-by: Mikael Pettersson <mikpe@it.uu.se> Signed-off-by: Krzysztof Hałasa <khc@pm.waw.pl>
Diffstat (limited to 'arch/arm/mach-ixp4xx')
-rw-r--r--arch/arm/mach-ixp4xx/include/mach/system.h6
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/arm/mach-ixp4xx/include/mach/system.h b/arch/arm/mach-ixp4xx/include/mach/system.h
index d2aa26f5acd7..54c0af7fa2d4 100644
--- a/arch/arm/mach-ixp4xx/include/mach/system.h
+++ b/arch/arm/mach-ixp4xx/include/mach/system.h
@@ -13,9 +13,11 @@
static inline void arch_idle(void)
{
+ /* ixp4xx does not implement the XScale PWRMODE register,
+ * so it must not call cpu_do_idle() here.
+ */
#if 0
- if (!hlt_counter)
- cpu_do_idle(0);
+ cpu_do_idle();
#endif
}