|  | /* | 
|  | *  linux/include/asm-mips/tx3927/irq.h | 
|  | * | 
|  | * 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) 2001 Toshiba Corporation | 
|  | */ | 
|  | #ifndef __ASM_TX3927_IRQ_H | 
|  | #define __ASM_TX3927_IRQ_H | 
|  |  | 
|  | #ifndef __ASSEMBLY__ | 
|  |  | 
|  | #include <asm/irq.h> | 
|  |  | 
|  | struct tb_irq_space { | 
|  | struct tb_irq_space* next; | 
|  | int start_irqno; | 
|  | int nr_irqs; | 
|  | void (*mask_func)(int irq_nr, int space_id); | 
|  | void (*unmask_func)(int irq_no, int space_id); | 
|  | const char *name; | 
|  | int space_id; | 
|  | int can_share; | 
|  | }; | 
|  | extern struct tb_irq_space* tb_irq_spaces; | 
|  |  | 
|  | static __inline__ void add_tb_irq_space(struct tb_irq_space* sp) | 
|  | { | 
|  | sp->next = tb_irq_spaces; | 
|  | tb_irq_spaces = sp; | 
|  | } | 
|  |  | 
|  |  | 
|  | struct pt_regs; | 
|  | extern void | 
|  | toshibaboards_spurious(struct pt_regs *regs, int irq); | 
|  | extern void | 
|  | toshibaboards_irqdispatch(struct pt_regs *regs, int irq); | 
|  |  | 
|  | extern struct irqaction * | 
|  | toshibaboards_get_irq_action(int irq); | 
|  | extern int | 
|  | toshibaboards_setup_irq(int irq, struct irqaction * new); | 
|  |  | 
|  |  | 
|  | #ifdef CONFIG_TX_BRANCH_LIKELY_BUG_WORKAROUND | 
|  | extern void tx_branch_likely_bug_fixup(struct pt_regs *regs); | 
|  | #endif | 
|  |  | 
|  | extern int (*toshibaboards_gen_iack)(void); | 
|  |  | 
|  | #endif /* !__ASSEMBLY__ */ | 
|  |  | 
|  | #define NR_ISA_IRQS 16 | 
|  | #define TB_IRQ_IS_ISA(irq)	\ | 
|  | (0 <= (irq) && (irq) < NR_ISA_IRQS) | 
|  | #define TB_IRQ_TO_ISA_IRQ(irq)	(irq) | 
|  |  | 
|  | #endif /* __ASM_TX3927_IRQ_H */ |