summaryrefslogtreecommitdiff
path: root/pc_keyb.c.diff.2.4.3
blob: 0d211a3e0f344bc5d039e108dd20f1204cef1663 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
*** pc_keyb.c.orig	Thu Oct  4 21:48:24 2001
--- pc_keyb.c	Thu Oct  4 21:52:41 2001
***************
*** 63,68 ****
--- 63,69 ----
  #ifdef CONFIG_PSMOUSE
  static void aux_write_ack(int val);
  static void __aux_write_ack(int val);
+ static int aux_reconnect = 0;
  #endif
  
  static spinlock_t kbd_controller_lock = SPIN_LOCK_UNLOCKED;
***************
*** 403,409 ****
  		}
  		mouse_reply_expected = 0;
  	}
! 	else if(scancode == AUX_RECONNECT){
  		queue->head = queue->tail = 0;  /* Flush input queue */
  		__aux_write_ack(AUX_ENABLE_DEV);  /* ping the mouse :) */
  		return;
--- 404,411 ----
  		}
  		mouse_reply_expected = 0;
  	}
! 	else if(scancode == AUX_RECONNECT && aux_reconnect){
! 		printk(KERN_DEBUG "AUX_RECONNECT scancode read\n");
  		queue->head = queue->tail = 0;  /* Flush input queue */
  		__aux_write_ack(AUX_ENABLE_DEV);  /* ping the mouse :) */
  		return;
***************
*** 751,756 ****
--- 753,776 ----
  }
  
  #if defined CONFIG_PSMOUSE
+ 
+ /*
+   AUX_RECONNECT support becomes a boot option, default off 
+ 
+   WARNING: aux-reconnect breaks synaptics ps2 touchpad support
+   (synaptics generates spurious AUX_RECONNECT scancodes ?)
+ 
+   ported from 2.2.18 by MAtteo HCE Valsasna (hce@uninsubria.it)
+ */
+ 
+ static int __init aux_reconnect_setup(char *str, int *ints)
+ {
+       aux_reconnect=1;
+       printk(KERN_INFO "AUX_RECONNECT support enabled, forget your synaptics\n");
+       return 1;
+ }
+ 
+ __setup("aux-reconnect", aux_reconnect_setup);
  
  /*
   * Check if this is a dual port controller.