4 #define PSMOUSE_CMD_SETSCALE11 0x00e6
5 #define PSMOUSE_CMD_SETRES 0x10e8
6 #define PSMOUSE_CMD_GETINFO 0x03e9
7 #define PSMOUSE_CMD_SETSTREAM 0x00ea
8 #define PSMOUSE_CMD_POLL 0x03eb
9 #define PSMOUSE_CMD_GETID 0x02f2
10 #define PSMOUSE_CMD_SETRATE 0x10f3
11 #define PSMOUSE_CMD_ENABLE 0x00f4
12 #define PSMOUSE_CMD_DISABLE 0x00f5
13 #define PSMOUSE_CMD_RESET_DIS 0x00f6
14 #define PSMOUSE_CMD_RESET_BAT 0x02ff
16 #define PSMOUSE_RET_BAT 0xaa
17 #define PSMOUSE_RET_ID 0x00
18 #define PSMOUSE_RET_ACK 0xfa
19 #define PSMOUSE_RET_NAK 0xfe
21 #define PSMOUSE_FLAG_ACK 0 /* Waiting for ACK/NAK */
22 #define PSMOUSE_FLAG_CMD 1 /* Waiting for command to finish */
23 #define PSMOUSE_FLAG_CMD1 2 /* Waiting for the first byte of command response */
24 #define PSMOUSE_FLAG_WAITID 3 /* Command execiting is GET ID */
33 /* psmouse protocol handler return codes */
46 unsigned char cmdbuf[8];
47 unsigned char packet[8];
53 unsigned long out_of_sync;
54 enum psmouse_state state;
61 /* Used to signal completion from interrupt handler */
62 wait_queue_head_t wait;
64 psmouse_ret_t (*protocol_handler)(struct psmouse *psmouse, struct pt_regs *regs);
65 int (*reconnect)(struct psmouse *psmouse);
66 void (*disconnect)(struct psmouse *psmouse);
68 void (*pt_activate)(struct psmouse *psmouse);
69 void (*pt_deactivate)(struct psmouse *psmouse);
73 #define PSMOUSE_PS2PP 2
74 #define PSMOUSE_PS2TPP 3
75 #define PSMOUSE_GENPS 4
76 #define PSMOUSE_IMPS 5
77 #define PSMOUSE_IMEX 6
78 #define PSMOUSE_SYNAPTICS 7
80 int psmouse_command(struct psmouse *psmouse, unsigned char *param, int command);
81 int psmouse_sliced_command(struct psmouse *psmouse, unsigned char command);
82 int psmouse_reset(struct psmouse *psmouse);
84 extern int psmouse_smartscroll;
85 extern unsigned int psmouse_rate;
87 #endif /* _PSMOUSE_H */