xref: /openbmc/linux/drivers/input/mouse/alps.h (revision 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2)
1*1da177e4SLinus Torvalds /*
2*1da177e4SLinus Torvalds  * ALPS touchpad PS/2 mouse driver
3*1da177e4SLinus Torvalds  *
4*1da177e4SLinus Torvalds  * Copyright (c) 2003 Peter Osterlund <petero2@telia.com>
5*1da177e4SLinus Torvalds  * Copyright (c) 2005 Vojtech Pavlik <vojtech@suse.cz>
6*1da177e4SLinus Torvalds  *
7*1da177e4SLinus Torvalds  * This program is free software; you can redistribute it and/or modify it
8*1da177e4SLinus Torvalds  * under the terms of the GNU General Public License version 2 as published by
9*1da177e4SLinus Torvalds  * the Free Software Foundation.
10*1da177e4SLinus Torvalds  */
11*1da177e4SLinus Torvalds 
12*1da177e4SLinus Torvalds #ifndef _ALPS_H
13*1da177e4SLinus Torvalds #define _ALPS_H
14*1da177e4SLinus Torvalds 
15*1da177e4SLinus Torvalds int alps_detect(struct psmouse *psmouse, int set_properties);
16*1da177e4SLinus Torvalds int alps_init(struct psmouse *psmouse);
17*1da177e4SLinus Torvalds 
18*1da177e4SLinus Torvalds struct alps_model_info {
19*1da177e4SLinus Torvalds         unsigned char signature[3];
20*1da177e4SLinus Torvalds         unsigned char byte0, mask0;
21*1da177e4SLinus Torvalds         unsigned char flags;
22*1da177e4SLinus Torvalds };
23*1da177e4SLinus Torvalds 
24*1da177e4SLinus Torvalds struct alps_data {
25*1da177e4SLinus Torvalds 	struct input_dev dev2;		/* Relative device */
26*1da177e4SLinus Torvalds 	char name[32];			/* Name */
27*1da177e4SLinus Torvalds 	char phys[32];			/* Phys */
28*1da177e4SLinus Torvalds 	struct alps_model_info *i; 	/* Info */
29*1da177e4SLinus Torvalds 	int prev_fin;			/* Finger bit from previous packet */
30*1da177e4SLinus Torvalds };
31*1da177e4SLinus Torvalds 
32*1da177e4SLinus Torvalds #endif
33