summaryrefslogtreecommitdiffstats
path: root/include/asm-m68k/softirq.h
blob: a51563cd71f4e89021c24aca8be2d2f83c1920d8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#ifndef __M68K_SOFTIRQ_H
#define __M68K_SOFTIRQ_H

/*
 * Software interrupts.. no SMP here either.
 */

#include <asm/atomic.h>

extern unsigned int local_bh_count[NR_CPUS];

#define local_bh_disable()	(local_bh_count[smp_processor_id()]++)
#define local_bh_enable()	(local_bh_count[smp_processor_id()]--)

#define in_softirq() (local_bh_count != 0)

/* These are for the irq's testing the lock */
#define softirq_trylock(cpu)  (local_bh_count[cpu] ? 0 : (local_bh_count[cpu]=1))
#define softirq_endlock(cpu)  (local_bh_count[cpu] = 0)
#define synchronize_bh()	barrier()

#endif