summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/asm-alpha/softirq.h21
-rw-r--r--include/asm-arm/hardirq.h1
-rw-r--r--include/asm-arm/softirq.h20
-rw-r--r--include/asm-cris/softirq.h30
-rw-r--r--include/asm-i386/hardirq.h1
-rw-r--r--include/asm-i386/softirq.h20
-rw-r--r--include/asm-ia64/softirq.h26
-rw-r--r--include/asm-m68k/softirq.h24
-rw-r--r--include/asm-m68knommu/softirq.h20
-rw-r--r--include/asm-mips/softirq.h45
-rw-r--r--include/asm-mips64/softirq.h57
-rw-r--r--include/asm-parisc/softirq.h20
-rw-r--r--include/asm-ppc/softirq.h31
-rw-r--r--include/asm-ppc64/softirq.h27
-rw-r--r--include/asm-s390/softirq.h42
-rw-r--r--include/asm-s390x/softirq.h42
-rw-r--r--include/asm-sh/softirq.h30
-rw-r--r--include/asm-sparc/softirq.h31
-rw-r--r--include/asm-sparc64/softirq.h25
-rw-r--r--include/asm-um/softirq.h13
-rw-r--r--include/asm-v850/softirq.h20
-rw-r--r--include/asm-x86_64/softirq.h22
-rw-r--r--include/linux/interrupt.h8
-rw-r--r--include/linux/mtd/compatmac.h1
24 files changed, 7 insertions, 570 deletions
diff --git a/include/asm-alpha/softirq.h b/include/asm-alpha/softirq.h
deleted file mode 100644
index 401ea9e1b76e..000000000000
--- a/include/asm-alpha/softirq.h
+++ /dev/null
@@ -1,21 +0,0 @@
-#ifndef _ALPHA_SOFTIRQ_H
-#define _ALPHA_SOFTIRQ_H
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && \
- softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* _ALPHA_SOFTIRQ_H */
diff --git a/include/asm-arm/hardirq.h b/include/asm-arm/hardirq.h
index 3f164e01f7a1..df9f03a8dcf1 100644
--- a/include/asm-arm/hardirq.h
+++ b/include/asm-arm/hardirq.h
@@ -5,7 +5,6 @@
#include <linux/cache.h>
#include <linux/threads.h>
-/* softirq.h is sensitive to the offsets of these fields */
typedef struct {
unsigned int __softirq_pending;
unsigned int __local_irq_count;
diff --git a/include/asm-arm/softirq.h b/include/asm-arm/softirq.h
deleted file mode 100644
index 3dfcdb13ecaf..000000000000
--- a/include/asm-arm/softirq.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
- __asm__("bl%? __do_softirq": : : "lr");/* out of line */\
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
diff --git a/include/asm-cris/softirq.h b/include/asm-cris/softirq.h
deleted file mode 100644
index c5b2d8873f9a..000000000000
--- a/include/asm-cris/softirq.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <asm/atomic.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
-do { \
- local_bh_count(smp_processor_id())++; \
- barrier(); \
-} while (0)
-
-#define __local_bh_enable() \
-do { \
- barrier(); \
- local_bh_count(smp_processor_id())--; \
-} while (0)
-
-#define local_bh_enable() \
-do { \
- if (!--local_bh_count(smp_processor_id()) \
- && softirq_pending(smp_processor_id())) { \
- do_softirq(); \
- local_irq_enable(); \
- } \
-} while (0)
-
-#define in_softirq() (local_bh_count(smp_processor_id()) != 0)
-
-#endif /* __ASM_SOFTIRQ_H */
diff --git a/include/asm-i386/hardirq.h b/include/asm-i386/hardirq.h
index 6dfd2ceebf3a..e8b9149f0b29 100644
--- a/include/asm-i386/hardirq.h
+++ b/include/asm-i386/hardirq.h
@@ -5,7 +5,6 @@
#include <linux/threads.h>
#include <linux/irq.h>
-/* assembly code in softirq.h is sensitive to the offsets of these fields */
typedef struct {
unsigned int __softirq_pending;
unsigned int __syscall_count;
diff --git a/include/asm-i386/softirq.h b/include/asm-i386/softirq.h
deleted file mode 100644
index d944be956a25..000000000000
--- a/include/asm-i386/softirq.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
diff --git a/include/asm-ia64/softirq.h b/include/asm-ia64/softirq.h
deleted file mode 100644
index a50f2d240aac..000000000000
--- a/include/asm-ia64/softirq.h
+++ /dev/null
@@ -1,26 +0,0 @@
-#ifndef _ASM_IA64_SOFTIRQ_H
-#define _ASM_IA64_SOFTIRQ_H
-
-#include <linux/compiler.h>
-
-/*
- * Copyright (C) 1998-2002 Hewlett-Packard Co
- * David Mosberger-Tang <davidm@hpl.hp.com>
- */
-#include <linux/compiler.h>
-#include <linux/preempt.h>
-
-#include <asm/hardirq.h>
-
-#define __local_bh_enable() do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_disable() do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && local_softirq_pending())) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* _ASM_IA64_SOFTIRQ_H */
diff --git a/include/asm-m68k/softirq.h b/include/asm-m68k/softirq.h
deleted file mode 100644
index 0c2f0e2044c6..000000000000
--- a/include/asm-m68k/softirq.h
+++ /dev/null
@@ -1,24 +0,0 @@
-#ifndef __M68K_SOFTIRQ_H
-#define __M68K_SOFTIRQ_H
-
-/*
- * Software interrupts.. no SMP here either.
- */
-
-#include <asm/atomic.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif
diff --git a/include/asm-m68knommu/softirq.h b/include/asm-m68knommu/softirq.h
deleted file mode 100644
index d944be956a25..000000000000
--- a/include/asm-m68knommu/softirq.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
diff --git a/include/asm-mips/softirq.h b/include/asm-mips/softirq.h
deleted file mode 100644
index 646202705c17..000000000000
--- a/include/asm-mips/softirq.h
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 1997, 1998, 1999, 2000, 2001 Ralf Baechle
- * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
- * Copyright (C) 1999, 2001 MIPS Technologies, Inc.
- */
-#ifndef _ASM_SOFTIRQ_H
-#define _ASM_SOFTIRQ_H
-
-#include <asm/atomic.h>
-#include <asm/hardirq.h>
-
-extern inline void cpu_bh_disable(int cpu)
-{
- local_bh_count(cpu)++;
- barrier();
-}
-
-extern inline void __cpu_bh_enable(int cpu)
-{
- barrier();
- local_bh_count(cpu)--;
-}
-
-
-#define local_bh_disable() cpu_bh_disable(smp_processor_id())
-#define __local_bh_enable() __cpu_bh_enable(smp_processor_id())
-#define local_bh_enable() \
-do { \
- int cpu; \
- \
- barrier(); \
- cpu = smp_processor_id(); \
- if (!--local_bh_count(cpu) && softirq_pending(cpu)) \
- do_softirq(); \
-} while (0)
-
-#define in_softirq() (local_bh_count(smp_processor_id()) != 0)
-
-#define __cpu_raise_softirq(cpu, nr) set_bit(nr, &softirq_pending(cpu))
-
-#endif /* _ASM_SOFTIRQ_H */
diff --git a/include/asm-mips64/softirq.h b/include/asm-mips64/softirq.h
deleted file mode 100644
index 9d070a7f2612..000000000000
--- a/include/asm-mips64/softirq.h
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * This file is subject to the terms and conditions of the GNU General Public
- * License. See the file "COPYING" in the main directory of this archive
- * for more details.
- *
- * Copyright (C) 1997, 1998, 1999, 2000, 2001 by Ralf Baechle
- * Copyright (C) 1999, 2000 Silicon Graphics, Inc.
- * Copyright (C) 2001 MIPS Technologies, Inc.
- */
-#ifndef _ASM_SOFTIRQ_H
-#define _ASM_SOFTIRQ_H
-
-#include <asm/atomic.h>
-#include <asm/hardirq.h>
-
-extern inline void cpu_bh_disable(int cpu)
-{
- local_bh_count(cpu)++;
- barrier();
-}
-
-extern inline void __cpu_bh_enable(int cpu)
-{
- barrier();
- local_bh_count(cpu)--;
-}
-
-#define local_bh_disable() cpu_bh_disable(smp_processor_id())
-#define __local_bh_enable() __cpu_bh_enable(smp_processor_id())
-#define local_bh_enable() \
-do { \
- int cpu; \
- \
- barrier(); \
- cpu = smp_processor_id(); \
- if (!--local_bh_count(cpu) && softirq_pending(cpu)) \
- do_softirq(); \
-} while (0)
-
-#define in_softirq() (local_bh_count(smp_processor_id()) != 0)
-
-extern inline void __cpu_raise_softirq(int cpu, int nr)
-{
- unsigned int *m = (unsigned int *) &softirq_pending(cpu);
- unsigned int temp;
-
- __asm__ __volatile__(
- "1:\tll\t%0, %1\t\t\t# __cpu_raise_softirq\n\t"
- "or\t%0, %2\n\t"
- "sc\t%0, %1\n\t"
- "beqz\t%0, 1b"
- : "=&r" (temp), "=m" (*m)
- : "ir" (1UL << nr), "m" (*m)
- : "memory");
-}
-
-#endif /* _ASM_SOFTIRQ_H */
diff --git a/include/asm-parisc/softirq.h b/include/asm-parisc/softirq.h
deleted file mode 100644
index 8bf7c1256ad7..000000000000
--- a/include/asm-parisc/softirq.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <asm/atomic.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
diff --git a/include/asm-ppc/softirq.h b/include/asm-ppc/softirq.h
deleted file mode 100644
index 79ccd5db8928..000000000000
--- a/include/asm-ppc/softirq.h
+++ /dev/null
@@ -1,31 +0,0 @@
-#ifdef __KERNEL__
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
-do { \
- preempt_count() += SOFTIRQ_OFFSET; \
- barrier(); \
-} while (0)
-
-#define __local_bh_enable() \
-do { \
- barrier(); \
- preempt_count() -= SOFTIRQ_OFFSET; \
-} while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() \
- && softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- if (preempt_count() == 0) \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
-#endif /* __KERNEL__ */
diff --git a/include/asm-ppc64/softirq.h b/include/asm-ppc64/softirq.h
deleted file mode 100644
index 33c076828553..000000000000
--- a/include/asm-ppc64/softirq.h
+++ /dev/null
@@ -1,27 +0,0 @@
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version
- * 2 of the License, or (at your option) any later version.
- */
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
diff --git a/include/asm-s390/softirq.h b/include/asm-s390/softirq.h
deleted file mode 100644
index 91f9853561dd..000000000000
--- a/include/asm-s390/softirq.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * include/asm-s390/softirq.h
- *
- * S390 version
- *
- * Derived from "include/asm-i386/softirq.h"
- */
-
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <linux/smp.h>
-#include <linux/preempt.h>
-
-#include <asm/atomic.h>
-#include <asm/hardirq.h>
-#include <asm/lowcore.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-extern void do_call_softirq(void);
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
- /* Use the async. stack for softirq */ \
- do_call_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
-
-
-
-
-
-
-
diff --git a/include/asm-s390x/softirq.h b/include/asm-s390x/softirq.h
deleted file mode 100644
index 91f9853561dd..000000000000
--- a/include/asm-s390x/softirq.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * include/asm-s390/softirq.h
- *
- * S390 version
- *
- * Derived from "include/asm-i386/softirq.h"
- */
-
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <linux/smp.h>
-#include <linux/preempt.h>
-
-#include <asm/atomic.h>
-#include <asm/hardirq.h>
-#include <asm/lowcore.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-extern void do_call_softirq(void);
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (!in_interrupt() && softirq_pending(smp_processor_id())) \
- /* Use the async. stack for softirq */ \
- do_call_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
-
-
-
-
-
-
-
diff --git a/include/asm-sh/softirq.h b/include/asm-sh/softirq.h
deleted file mode 100644
index 1c4229e1b9e5..000000000000
--- a/include/asm-sh/softirq.h
+++ /dev/null
@@ -1,30 +0,0 @@
-#ifndef __ASM_SH_SOFTIRQ_H
-#define __ASM_SH_SOFTIRQ_H
-
-#include <asm/atomic.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
-do { \
- local_bh_count(smp_processor_id())++; \
- barrier(); \
-} while (0)
-
-#define __local_bh_enable() \
-do { \
- barrier(); \
- local_bh_count(smp_processor_id())--; \
-} while (0)
-
-#define local_bh_enable() \
-do { \
- barrier(); \
- if (!--local_bh_count(smp_processor_id()) \
- && softirq_pending(smp_processor_id())) { \
- do_softirq(); \
- } \
-} while (0)
-
-#define in_softirq() (local_bh_count(smp_processor_id()) != 0)
-
-#endif /* __ASM_SH_SOFTIRQ_H */
diff --git a/include/asm-sparc/softirq.h b/include/asm-sparc/softirq.h
deleted file mode 100644
index e9f7d10e97d0..000000000000
--- a/include/asm-sparc/softirq.h
+++ /dev/null
@@ -1,31 +0,0 @@
-/* softirq.h: 32-bit Sparc soft IRQ support.
- *
- * Copyright (C) 1997 David S. Miller (davem@caip.rutgers.edu)
- * Copyright (C) 1998-99 Anton Blanchard (anton@progsoc.uts.edu.au)
- */
-
-#ifndef __SPARC_SOFTIRQ_H
-#define __SPARC_SOFTIRQ_H
-
-// #include <linux/threads.h> /* For NR_CPUS */
-
-// #include <asm/atomic.h>
-#include <asm/smp.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (!in_interrupt() && \
- softirq_pending(smp_processor_id())) { \
- do_softirq(); \
- } \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __SPARC_SOFTIRQ_H */
diff --git a/include/asm-sparc64/softirq.h b/include/asm-sparc64/softirq.h
deleted file mode 100644
index 80e625e920f8..000000000000
--- a/include/asm-sparc64/softirq.h
+++ /dev/null
@@ -1,25 +0,0 @@
-/* softirq.h: 64-bit Sparc soft IRQ support.
- *
- * Copyright (C) 1997, 1998 David S. Miller (davem@caip.rutgers.edu)
- */
-
-#ifndef __SPARC64_SOFTIRQ_H
-#define __SPARC64_SOFTIRQ_H
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-#include <asm/system.h> /* for membar() */
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-#define local_bh_enable() \
-do { __local_bh_enable(); \
- if (unlikely(!in_interrupt() && \
- softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* !(__SPARC64_SOFTIRQ_H) */
diff --git a/include/asm-um/softirq.h b/include/asm-um/softirq.h
deleted file mode 100644
index 41734a0a9602..000000000000
--- a/include/asm-um/softirq.h
+++ /dev/null
@@ -1,13 +0,0 @@
-#ifndef __UM_SOFTIRQ_H
-#define __UM_SOFTIRQ_H
-
-#include "linux/smp.h"
-#include "asm/system.h"
-#include "asm/processor.h"
-
-/* A gratuitous name change */
-#define i386_bh_lock um_bh_lock
-#include "asm/arch/softirq.h"
-#undef i386_bh_lock
-
-#endif
diff --git a/include/asm-v850/softirq.h b/include/asm-v850/softirq.h
deleted file mode 100644
index 6d514c7ab8da..000000000000
--- a/include/asm-v850/softirq.h
+++ /dev/null
@@ -1,20 +0,0 @@
-#ifndef __V850_SOFTIRQ_H__
-#define __V850_SOFTIRQ_H__
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __V850_SOFTIRQ_H__ */
diff --git a/include/asm-x86_64/softirq.h b/include/asm-x86_64/softirq.h
deleted file mode 100644
index 436bdc869980..000000000000
--- a/include/asm-x86_64/softirq.h
+++ /dev/null
@@ -1,22 +0,0 @@
-#ifndef __ASM_SOFTIRQ_H
-#define __ASM_SOFTIRQ_H
-
-#include <linux/preempt.h>
-#include <asm/hardirq.h>
-
-#define local_bh_disable() \
- do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
-#define __local_bh_enable() \
- do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
-
-void do_softirq(void);
-
-#define local_bh_enable() \
-do { \
- __local_bh_enable(); \
- if (unlikely(!in_interrupt() && softirq_pending(smp_processor_id()))) \
- do_softirq(); \
- preempt_check_resched(); \
-} while (0)
-
-#endif /* __ASM_SOFTIRQ_H */
diff --git a/include/linux/interrupt.h b/include/linux/interrupt.h
index 7a0681b9e880..e71f89ae8b3f 100644
--- a/include/linux/interrupt.h
+++ b/include/linux/interrupt.h
@@ -8,7 +8,6 @@
#include <asm/atomic.h>
#include <asm/hardirq.h>
#include <asm/ptrace.h>
-#include <asm/softirq.h>
#include <asm/system.h>
struct irqaction {
@@ -36,6 +35,13 @@ extern void free_irq(unsigned int, void *);
# define save_and_cli(x) local_irq_save(x)
#endif
+/* SoftIRQ primitives. */
+#define local_bh_disable() \
+ do { preempt_count() += SOFTIRQ_OFFSET; barrier(); } while (0)
+#define __local_bh_enable() \
+ do { barrier(); preempt_count() -= SOFTIRQ_OFFSET; } while (0)
+
+extern void local_bh_enable(void);
/* PLEASE, avoid to allocate new softirqs, if you need not _really_ high
frequency threaded job scheduling. For almost all the purposes
diff --git a/include/linux/mtd/compatmac.h b/include/linux/mtd/compatmac.h
index e5ddc3d408f8..19e6d2f849d5 100644
--- a/include/linux/mtd/compatmac.h
+++ b/include/linux/mtd/compatmac.h
@@ -194,7 +194,6 @@ static inline int try_inc_mod_count(struct module *mod)
#define spin_unlock_bh(lock) do {spin_unlock(lock);end_bh_atomic();} while(0)
#else
#include <linux/interrupt.h>
-#include <asm/softirq.h>
#include <linux/spinlock.h>
#endif