Subject: PATCH: keyboard share irqs

From: "Bradley D. LaRonde" <[email-masked]>
Date: Sun, 28 Oct 2001 16:20:34 -0500

2001-10-28  Bradley D. LaRonde <[email-masked]>

- Allow sharing of keyboard/aux irqs.
- Add Rockhopper BB 2.0 keyboard suport.

--- arch/mips/lib/kbd-std.c	2001/09/06 13:12:02	1.5
+++ arch/mips/lib/kbd-std.c	2001/10/28 21:16:53
@@ -7,14 +7,20 @@
  *
  * Copyright (C) 1998, 1999 by Ralf Baechle
  */
+#include <linux/config.h>
 #include <linux/ioport.h>
 #include <linux/sched.h>
 #include <linux/pc_keyb.h>
 #include <asm/keyboard.h>
 #include <asm/io.h>
 
-#define KEYBOARD_IRQ 1
-#define AUX_IRQ 12
+#ifdef CONFIG_DDB5477
+#define KEYBOARD_IRQ  18
+#define AUX_IRQ       KEYBOARD_IRQ
+#else
+#define KEYBOARD_IRQ  1
+#define AUX_IRQ       12
+#endif
 
 static void std_kbd_request_region(void)
 {
@@ -27,17 +33,17 @@
 
 static int std_kbd_request_irq(void (*handler)(int, void *, struct pt_regs *))
 {
-	return request_irq(KEYBOARD_IRQ, handler, 0, "keyboard", NULL);
+	return request_irq(KEYBOARD_IRQ, handler, SA_SHIRQ, "keyboard", &std_kbd_request_irq);
 }
 
 static int std_aux_request_irq(void (*handler)(int, void *, struct pt_regs *))
 {
-	return request_irq(AUX_IRQ, handler, 0, "PS/2 Mouse", NULL);
+	return request_irq(AUX_IRQ, handler, SA_SHIRQ, "PS/2 Mouse", &std_aux_request_irq);
 }
 
 static void std_aux_free_irq(void)
 {
-	free_irq(AUX_IRQ, NULL);
+	free_irq(AUX_IRQ, &std_aux_request_irq);
 }
 
 static unsigned char std_kbd_read_input(void)