1#ifndef _PC110PAD_H
2#define _PC110PAD_H
3
4#include <linux/ioctl.h>
5
6enum 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
14struct 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