aboutsummaryrefslogtreecommitdiffstats
path: root/arch/frv
diff options
context:
space:
mode:
Diffstat (limited to 'arch/frv')
-rw-r--r--arch/frv/include/asm/hardirq.h17
-rw-r--r--arch/frv/kernel/process.c4
2 files changed, 4 insertions, 17 deletions
diff --git a/arch/frv/include/asm/hardirq.h b/arch/frv/include/asm/hardirq.h
index fc47515822a2..5fc8b6f5bc55 100644
--- a/arch/frv/include/asm/hardirq.h
+++ b/arch/frv/include/asm/hardirq.h
@@ -12,24 +12,15 @@
12#ifndef __ASM_HARDIRQ_H 12#ifndef __ASM_HARDIRQ_H
13#define __ASM_HARDIRQ_H 13#define __ASM_HARDIRQ_H
14 14
15#include <linux/threads.h> 15#include <asm/atomic.h>
16#include <linux/irq.h>
17
18typedef struct {
19 unsigned int __softirq_pending;
20 unsigned long idle_timestamp;
21} ____cacheline_aligned irq_cpustat_t;
22
23#include <linux/irq_cpustat.h> /* Standard mappings for irq_cpustat_t above */
24
25#ifdef CONFIG_SMP
26#error SMP not available on FR-V
27#endif /* CONFIG_SMP */
28 16
29extern atomic_t irq_err_count; 17extern atomic_t irq_err_count;
30static inline void ack_bad_irq(int irq) 18static inline void ack_bad_irq(int irq)
31{ 19{
32 atomic_inc(&irq_err_count); 20 atomic_inc(&irq_err_count);
33} 21}
22#define ack_bad_irq ack_bad_irq
23
24#include <asm-generic/hardirq.h>
34 25
35#endif 26#endif
diff --git a/arch/frv/kernel/process.c b/arch/frv/kernel/process.c
index 0de50df74970..904255938216 100644
--- a/arch/frv/kernel/process.c
+++ b/arch/frv/kernel/process.c
@@ -83,13 +83,9 @@ void (*idle)(void) = core_sleep_idle;
83 */ 83 */
84void cpu_idle(void) 84void cpu_idle(void)
85{ 85{
86 int cpu = smp_processor_id();
87
88 /* endless idle loop with no priority at all */ 86 /* endless idle loop with no priority at all */
89 while (1) { 87 while (1) {
90 while (!need_resched()) { 88 while (!need_resched()) {
91 irq_stat[cpu].idle_timestamp = jiffies;
92
93 check_pgt_cache(); 89 check_pgt_cache();
94 90
95 if (!frv_dma_inprogress && idle) 91 if (!frv_dma_inprogress && idle)