patch-2.4.19 linux-2.4.19/arch/mips/mips-boards/atlas/atlas_int.c
Next file: linux-2.4.19/arch/mips/mips-boards/atlas/atlas_setup.c
Previous file: linux-2.4.19/arch/mips/mips-boards/atlas/Makefile
Back to the patch index
Back to the overall index
- Lines: 128
- Date:
Fri Aug 2 17:39:43 2002
- Orig file:
linux-2.4.18/arch/mips/mips-boards/atlas/atlas_int.c
- Orig date:
Sun Sep 9 10:43:02 2001
diff -urN linux-2.4.18/arch/mips/mips-boards/atlas/atlas_int.c linux-2.4.19/arch/mips/mips-boards/atlas/atlas_int.c
@@ -42,20 +42,12 @@
extern asmlinkage void mipsIRQ(void);
extern void do_IRQ(int irq, struct pt_regs *regs);
-unsigned long spurious_count = 0;
-irq_desc_t irq_desc[NR_IRQS];
-
#if 0
#define DEBUG_INT(x...) printk(x)
#else
#define DEBUG_INT(x...)
#endif
-void inline disable_irq_nosync(unsigned int irq_nr)
-{
- disable_atlas_irq(irq_nr);
-}
-
void disable_atlas_irq(unsigned int irq_nr)
{
atlas_hw0_icregs->intrsten = (1 << irq_nr);
@@ -93,76 +85,6 @@
NULL
};
-int get_irq_list(char *buf)
-{
- int i, len = 0;
- int num = 0;
- struct irqaction *action;
-
- for (i = 0; i < ATLASINT_END; i++, num++) {
- action = irq_desc[i].action;
- if (!action)
- continue;
- len += sprintf(buf+len, "%2d: %8d %c %s",
- num, kstat.irqs[0][num],
- (action->flags & SA_INTERRUPT) ? '+' : ' ',
- action->name);
- for (action=action->next; action; action = action->next) {
- len += sprintf(buf+len, ",%s %s",
- (action->flags & SA_INTERRUPT) ? " +" : "",
- action->name);
- }
- len += sprintf(buf+len, " [hw0]\n");
- }
- return len;
-}
-
-int request_irq(unsigned int irq,
- void (*handler)(int, void *, struct pt_regs *),
- unsigned long irqflags,
- const char * devname,
- void *dev_id)
-{
- struct irqaction *action;
-
- DEBUG_INT("request_irq: irq=%d, devname = %s\n", irq, devname);
-
- if (irq >= ATLASINT_END)
- return -EINVAL;
- if (!handler)
- return -EINVAL;
-
- action = (struct irqaction *)kmalloc(sizeof(struct irqaction), GFP_KERNEL);
- if(!action)
- return -ENOMEM;
-
- action->handler = handler;
- action->flags = irqflags;
- action->mask = 0;
- action->name = devname;
- action->dev_id = dev_id;
- action->next = 0;
- irq_desc[irq].action = action;
- enable_atlas_irq(irq);
-
- return 0;
-}
-
-void free_irq(unsigned int irq, void *dev_id)
-{
- struct irqaction *action;
-
- if (irq >= ATLASINT_END) {
- printk("Trying to free IRQ%d\n",irq);
- return;
- }
-
- action = irq_desc[irq].action;
- irq_desc[irq].action = NULL;
- disable_atlas_irq(irq);
- kfree(action);
-}
-
static inline int ls1bit32(unsigned int x)
{
int b = 31, s;
@@ -194,9 +116,9 @@
DEBUG_INT("atlas_hw0_irqdispatch: irq=%d\n", irq);
/* if action == NULL, then we don't have a handler for the irq */
- if ( action == NULL ) {
+ if (action == NULL) {
printk("No handler for hw0 irq: %i\n", irq);
- spurious_count++;
+ atomic_inc(&irq_err_count);
return;
}
@@ -208,17 +130,6 @@
return;
}
-unsigned long probe_irq_on (void)
-{
- return 0;
-}
-
-
-int probe_irq_off (unsigned long irqs)
-{
- return 0;
-}
-
#ifdef CONFIG_REMOTE_DEBUG
extern void breakpoint(void);
extern int remote_debug;
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)