Commit b5ec6dea authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] asm/softirq.h is dead

From: Christoph Hellwig <hch@lst.de>

Still three arches keep an unused copy around and quite a few places refer
to it in comments still.

Two of the two arches also include it in their _ksyms.c file, but given
that softirq.h only contains macros (which are in hardirq.c as well) that's
just a leftover as well.
parent a84d3317
...@@ -241,7 +241,7 @@ ...@@ -241,7 +241,7 @@
<para> <para>
You can tell you are in a softirq (or bottom half, or tasklet) You can tell you are in a softirq (or bottom half, or tasklet)
using the <function>in_softirq()</function> macro using the <function>in_softirq()</function> macro
(<filename class=headerfile>include/asm/softirq.h</filename>). (<filename class=headerfile>include/asm/hardirq.h</filename>).
</para> </para>
<caution> <caution>
<para> <para>
...@@ -690,7 +690,7 @@ printk(KERN_INFO "my ip: %d.%d.%d.%d\n", NIPQUAD(ipaddress)); ...@@ -690,7 +690,7 @@ printk(KERN_INFO "my ip: %d.%d.%d.%d\n", NIPQUAD(ipaddress));
<sect1 id="routines-softirqs"> <sect1 id="routines-softirqs">
<title><function>local_bh_disable()</function>/<function>local_bh_enable()</function> <title><function>local_bh_disable()</function>/<function>local_bh_enable()</function>
<filename class=headerfile>include/asm/softirq.h</filename></title> <filename class=headerfile>include/linux/interrupt.h</filename></title>
<para> <para>
These routines disable soft interrupts on the local CPU, and These routines disable soft interrupts on the local CPU, and
......
...@@ -306,7 +306,7 @@ ...@@ -306,7 +306,7 @@
This works perfectly for <firstterm linkend="gloss-up"><acronym>UP This works perfectly for <firstterm linkend="gloss-up"><acronym>UP
</acronym></firstterm> as well: the spin lock vanishes, and this macro </acronym></firstterm> as well: the spin lock vanishes, and this macro
simply becomes <function>local_bh_disable()</function> simply becomes <function>local_bh_disable()</function>
(<filename class=headerfile>include/asm/softirq.h</filename>), which (<filename class=headerfile>include/linux/interrupt.h</filename>), which
protects you from the bottom half being run. protects you from the bottom half being run.
</para> </para>
</sect1> </sect1>
......
...@@ -23,7 +23,7 @@ ...@@ -23,7 +23,7 @@
#endif #endif
/* /*
* Our do_softirq out of line code. See include/asm-arm/softirq.h for * Our do_softirq out of line code. See include/asm-arm/hardirq.h for
* the calling assembly. * the calling assembly.
*/ */
ENTRY(__do_softirq) ENTRY(__do_softirq)
......
...@@ -161,7 +161,7 @@ tsk .req r9 @ current thread_info ...@@ -161,7 +161,7 @@ tsk .req r9 @ current thread_info
#endif #endif
/* /*
* Our do_softirq out of line code. See include/asm-arm/softirq.h for * Our do_softirq out of line code. See include/asm-arm26/hardirq.h for
* the calling assembly. * the calling assembly.
*/ */
ENTRY(__do_softirq) ENTRY(__do_softirq)
......
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
#include <asm/semaphore.h> #include <asm/semaphore.h>
#include <asm/checksum.h> #include <asm/checksum.h>
#include <asm/hardirq.h> #include <asm/hardirq.h>
#include <asm/softirq.h>
#include <asm/current.h> #include <asm/current.h>
//asmlinkage long long __ashrdi3 (long long, int); //asmlinkage long long __ashrdi3 (long long, int);
......
...@@ -25,7 +25,6 @@ ...@@ -25,7 +25,6 @@
#include <asm/page.h> #include <asm/page.h>
#include <asm/pgalloc.h> #include <asm/pgalloc.h>
#include <asm/semaphore.h> #include <asm/semaphore.h>
#include <asm/softirq.h>
#include <asm/uaccess.h> #include <asm/uaccess.h>
#ifdef CONFIG_BLK_DEV_FD #ifdef CONFIG_BLK_DEV_FD
#include <asm/floppy.h> #include <asm/floppy.h>
......
...@@ -5,7 +5,6 @@ ...@@ -5,7 +5,6 @@
#include <linux/cache.h> #include <linux/cache.h>
#include <linux/threads.h> #include <linux/threads.h>
/* softirq.h is sensitive to the offsets of these fields */
typedef struct { typedef struct {
unsigned int __softirq_pending; unsigned int __softirq_pending;
unsigned int __local_irq_count; unsigned int __local_irq_count;
......
#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 */
#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 */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment