diff options
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 fc47515822a..5fc8b6f5bc5 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 0de50df7497..90425593821 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) |