diff options
author | Christoph Hellwig <hch@lst.de> | 2009-09-23 10:04:02 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-09-23 10:15:21 -0700 |
commit | a70770998c1d99e86eea97294ae3cce059a18d7e (patch) | |
tree | a8c43c965cee862c2bf77f75a6297ad3e4f30c46 /arch | |
parent | d19110baaf20d5183689287bdbcf91e26e40cb79 (diff) | |
download | op-kernel-dev-a70770998c1d99e86eea97294ae3cce059a18d7e.zip op-kernel-dev-a70770998c1d99e86eea97294ae3cce059a18d7e.tar.gz |
FRV: Use asm/generic-hardirq.h
Use asm/generic-hardirq.h to build asm/hardirq.h and also remove the unused
idle_timestamp field in irq_cpustat whilst we're at it.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'arch')
-rw-r--r-- | arch/frv/include/asm/hardirq.h | 17 | ||||
-rw-r--r-- | arch/frv/kernel/process.c | 4 |
2 files changed, 4 insertions, 17 deletions
diff --git a/arch/frv/include/asm/hardirq.h b/arch/frv/include/asm/hardirq.h index fc47515..5fc8b6f 100644 --- a/arch/frv/include/asm/hardirq.h +++ b/arch/frv/include/asm/hardirq.h @@ -12,24 +12,15 @@ #ifndef __ASM_HARDIRQ_H #define __ASM_HARDIRQ_H -#include <linux/threads.h> -#include <linux/irq.h> - -typedef struct { - unsigned int __softirq_pending; - unsigned long idle_timestamp; -} ____cacheline_aligned irq_cpustat_t; - -#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */ - -#ifdef CONFIG_SMP -#error SMP not available on FR-V -#endif /* CONFIG_SMP */ +#include <asm/atomic.h> extern atomic_t irq_err_count; static inline void ack_bad_irq(int irq) { atomic_inc(&irq_err_count); } +#define ack_bad_irq ack_bad_irq + +#include <asm-generic/hardirq.h> #endif diff --git a/arch/frv/kernel/process.c b/arch/frv/kernel/process.c index 0de50df..9042559 100644 --- a/arch/frv/kernel/process.c +++ b/arch/frv/kernel/process.c @@ -83,13 +83,9 @@ void (*idle)(void) = core_sleep_idle; */ void cpu_idle(void) { - int cpu = smp_processor_id(); - /* endless idle loop with no priority at all */ while (1) { while (!need_resched()) { - irq_stat[cpu].idle_timestamp = jiffies; - check_pgt_cache(); if (!frv_dma_inprogress && idle) |