# BRCM_VERSION=3
[bcm963xx.git] / bcmdrivers / opensource / include / bcm963xx / bcm_intr.h
1 /*
2 <:copyright-gpl 
3  Copyright 2003 Broadcom Corp. All Rights Reserved. 
4  
5  This program is free software; you can distribute it and/or modify it 
6  under the terms of the GNU General Public License (Version 2) as 
7  published by the Free Software Foundation. 
8  
9  This program is distributed in the hope it will be useful, but WITHOUT 
10  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 
11  FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License 
12  for more details. 
13  
14  You should have received a copy of the GNU General Public License along 
15  with this program; if not, write to the Free Software Foundation, Inc., 
16  59 Temple Place - Suite 330, Boston MA 02111-1307, USA. 
17 :>
18 */
19
20 #ifndef __BCM_INTR_H
21 #define __BCM_INTR_H
22
23 #ifdef __cplusplus
24     extern "C" {
25 #endif
26
27 #if defined(CONFIG_BCM96338)
28 #include <6338_intr.h>
29 #endif
30 #if defined(CONFIG_BCM96345)
31 #include <6345_intr.h>
32 #endif
33 #if defined(CONFIG_BCM96348)
34 #include <6348_intr.h>
35 #endif
36
37 /* defines */
38 struct pt_regs;
39 typedef int (*FN_HANDLER) (int, void *, struct pt_regs *);
40
41 /* prototypes */
42 extern void enable_brcm_irq(unsigned int irq);
43 extern void disable_brcm_irq(unsigned int irq);
44 extern int request_external_irq(unsigned int irq,
45     FN_HANDLER handler, unsigned long irqflags, 
46     const char * devname, void *dev_id);
47 extern unsigned int BcmHalMapInterrupt(FN_HANDLER isr, unsigned int param,
48     unsigned int interruptId);
49 extern void dump_intr_regs(void);
50
51 /* compatibility definitions */
52 #define BcmHalInterruptEnable(irq)      enable_brcm_irq( irq )
53 #define BcmHalInterruptDisable(irq)     disable_brcm_irq( irq )
54
55 #ifdef __cplusplus
56     }
57 #endif
58
59 #endif