Browse Source

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>
Christoph Hellwig 15 years ago
parent
commit
a70770998c
2 changed files with 4 additions and 17 deletions
  1. 4 13
      arch/frv/include/asm/hardirq.h
  2. 0 4
      arch/frv/kernel/process.c

+ 4 - 13
arch/frv/include/asm/hardirq.h

@@ -12,24 +12,15 @@
 #ifndef __ASM_HARDIRQ_H
 #ifndef __ASM_HARDIRQ_H
 #define __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;
 extern atomic_t irq_err_count;
 static inline void ack_bad_irq(int irq)
 static inline void ack_bad_irq(int irq)
 {
 {
 	atomic_inc(&irq_err_count);
 	atomic_inc(&irq_err_count);
 }
 }
+#define ack_bad_irq ack_bad_irq
+
+#include <asm-generic/hardirq.h>
 
 
 #endif
 #endif

+ 0 - 4
arch/frv/kernel/process.c

@@ -83,13 +83,9 @@ void (*idle)(void) = core_sleep_idle;
  */
  */
 void cpu_idle(void)
 void cpu_idle(void)
 {
 {
-	int cpu = smp_processor_id();
-
 	/* endless idle loop with no priority at all */
 	/* endless idle loop with no priority at all */
 	while (1) {
 	while (1) {
 		while (!need_resched()) {
 		while (!need_resched()) {
-			irq_stat[cpu].idle_timestamp = jiffies;
-
 			check_pgt_cache();
 			check_pgt_cache();
 
 
 			if (!frv_dma_inprogress && idle)
 			if (!frv_dma_inprogress && idle)