1 #ifndef _PC110PAD_H
2 #define _PC110PAD_H
3 
4 #include <linux/ioctl.h>
5 
6 enum pc110pad_mode {
7 	PC110PAD_RAW,		/* bytes as they come out of the hardware */
8 	PC110PAD_RARE,		/* debounced up/down and absolute x,y */
9 	PC110PAD_DEBUG,		/* up/down, debounced, transitions, button */
10 	PC110PAD_PS2,		/* ps2 relative (default) */
11 };
12 
13 
14 struct pc110pad_params {
15 	enum pc110pad_mode mode;
16 	int	bounce_interval;
17 	int	tap_interval;
18 	int	irq;
19 	int	io;
20 };
21 
22 #define MS *HZ/1000
23 
24 /* Appears as device major=10 (MISC), minor=PC110_PAD */
25 
26 #define PC110PAD_IOCTL_TYPE		0x9a
27 
28 #define PC110PADIOCGETP _IOR(PC110PAD_IOCTL_TYPE, 0, struct pc110pad_params)
29 #define PC110PADIOCSETP _IOW(PC110PAD_IOCTL_TYPE, 1, struct pc110pad_params)
30 
31 #endif /* _PC110PAD_H */
32