From a6e893d54ee032d29b67e9af222e3e25f8ddb651 Mon Sep 17 00:00:00 2001 From: Kevin Hilman Date: Wed, 14 Mar 2007 17:33:24 +0100 Subject: [PATCH] --- yaml --- r: 53994 b: refs/heads/master c: 9e4559ddffc012a73ea0b54ed3b6a219c1483ae9 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/arm/kernel/process.c | 3 +++ trunk/arch/arm/kernel/time.c | 4 +++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index cab75f0dacd1..8fa2d813f34b 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 0567a0c022d5b343370a343121f38fd89925de55 +refs/heads/master: 9e4559ddffc012a73ea0b54ed3b6a219c1483ae9 diff --git a/trunk/arch/arm/kernel/process.c b/trunk/arch/arm/kernel/process.c index 8afd83d0cbdd..5d6e6523598b 100644 --- a/trunk/arch/arm/kernel/process.c +++ b/trunk/arch/arm/kernel/process.c @@ -27,6 +27,7 @@ #include #include #include +#include #include #include @@ -159,9 +160,11 @@ void cpu_idle(void) if (!idle) idle = default_idle; leds_event(led_idle_start); + tick_nohz_stop_sched_tick(); while (!need_resched()) idle(); leds_event(led_idle_end); + tick_nohz_restart_sched_tick(); preempt_enable_no_resched(); schedule(); preempt_disable(); diff --git a/trunk/arch/arm/kernel/time.c b/trunk/arch/arm/kernel/time.c index f61decb89ba2..d0540e4eaf5b 100644 --- a/trunk/arch/arm/kernel/time.c +++ b/trunk/arch/arm/kernel/time.c @@ -327,6 +327,7 @@ void restore_time_delta(struct timespec *delta, struct timespec *rtc) } EXPORT_SYMBOL(restore_time_delta); +#ifndef CONFIG_GENERIC_CLOCKEVENTS /* * Kernel system timer support. */ @@ -340,8 +341,9 @@ void timer_tick(void) update_process_times(user_mode(get_irq_regs())); #endif } +#endif -#ifdef CONFIG_PM +#if defined(CONFIG_PM) && !defined(CONFIG_GENERIC_CLOCKEVENTS) static int timer_suspend(struct sys_device *dev, pm_message_t state) { struct sys_timer *timer = container_of(dev, struct sys_timer, dev);