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 @@
<para>
You can tell you are in a softirq (or bottom half, or tasklet)
using the <function>in_softirq()</function> macro
(<filename class=headerfile>include/asm/softirq.h</filename>).
(<filename class=headerfile>include/asm/hardirq.h</filename>).
</para>
<caution>
<para>
......@@ -690,7 +690,7 @@ printk(KERN_INFO "my ip: %d.%d.%d.%d\n", NIPQUAD(ipaddress));
<sect1 id="routines-softirqs">
<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>
These routines disable soft interrupts on the local CPU, and
......
......@@ -306,7 +306,7 @@
This works perfectly for <firstterm linkend="gloss-up"><acronym>UP
</acronym></firstterm> as well: the spin lock vanishes, and this macro
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.
</para>
</sect1>
......
......@@ -23,7 +23,7 @@
#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.
*/
ENTRY(__do_softirq)
......
......@@ -161,7 +161,7 @@ tsk .req r9 @ current thread_info
#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.
*/
ENTRY(__do_softirq)
......
......@@ -16,7 +16,6 @@
#include <asm/semaphore.h>
#include <asm/checksum.h>
#include <asm/hardirq.h>
#include <asm/softirq.h>
#include <asm/current.h>
//asmlinkage long long __ashrdi3 (long long, int);
......
......@@ -25,7 +25,6 @@
#include <asm/page.h>
#include <asm/pgalloc.h>
#include <asm/semaphore.h>
#include <asm/softirq.h>
#include <asm/uaccess.h>
#ifdef CONFIG_BLK_DEV_FD
#include <asm/floppy.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;
......
#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