Some SoCs need additional actions to be performed after arch idle, e.g. Kinetis requires invalidation of the I/D bus cache. Such handler could be held in provided <mach/idle.h> header file. Signed-off-by: Paul Osmialowski <pawelo@xxxxxxxxxxx> --- arch/arm/Kconfig | 7 +++++++ arch/arm/kernel/process.c | 7 +++++++ 2 files changed, 14 insertions(+) diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig index 8e3a833..8ef8f8f 100644 --- a/arch/arm/Kconfig +++ b/arch/arm/Kconfig @@ -98,6 +98,13 @@ config ARM_HAS_SG_CHAIN config NEED_SG_DMA_LENGTH bool +config NEED_MACH_IDLE_H + bool + +config ARM_CPU_IDLE_QUIRKS + bool + select NEED_MACH_IDLE_H + config ARM_DMA_USE_IOMMU bool select ARM_HAS_SG_CHAIN diff --git a/arch/arm/kernel/process.c b/arch/arm/kernel/process.c index f192a2a..0033460 100644 --- a/arch/arm/kernel/process.c +++ b/arch/arm/kernel/process.c @@ -37,6 +37,10 @@ #include <asm/tls.h> #include <asm/vdso.h> +#ifdef CONFIG_NEED_MACH_IDLE_H +#include <mach/idle.h> +#endif + #ifdef CONFIG_CC_STACKPROTECTOR #include <linux/stackprotector.h> unsigned long __stack_chk_guard __read_mostly; @@ -70,6 +74,9 @@ void arch_cpu_idle(void) arm_pm_idle(); else cpu_do_idle(); +#ifdef CONFIG_ARM_CPU_IDLE_QUIRKS + handle_cpu_idle_quirks(); +#endif local_irq_enable(); } -- 2.3.6 -- To unsubscribe from this list: send the line "unsubscribe devicetree" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html