xref: /openbmc/linux/drivers/input/mouse/alps.h (revision b7802c5c1ea9563f3746bea09c214ccedc8600f4)
11da177e4SLinus Torvalds /*
21da177e4SLinus Torvalds  * ALPS touchpad PS/2 mouse driver
31da177e4SLinus Torvalds  *
41da177e4SLinus Torvalds  * Copyright (c) 2003 Peter Osterlund <petero2@telia.com>
51da177e4SLinus Torvalds  * Copyright (c) 2005 Vojtech Pavlik <vojtech@suse.cz>
61da177e4SLinus Torvalds  *
71da177e4SLinus Torvalds  * This program is free software; you can redistribute it and/or modify it
81da177e4SLinus Torvalds  * under the terms of the GNU General Public License version 2 as published by
91da177e4SLinus Torvalds  * the Free Software Foundation.
101da177e4SLinus Torvalds  */
111da177e4SLinus Torvalds 
121da177e4SLinus Torvalds #ifndef _ALPS_H
131da177e4SLinus Torvalds #define _ALPS_H
141da177e4SLinus Torvalds 
151da177e4SLinus Torvalds struct alps_model_info {
161da177e4SLinus Torvalds         unsigned char signature[3];
171da177e4SLinus Torvalds         unsigned char byte0, mask0;
181da177e4SLinus Torvalds         unsigned char flags;
191da177e4SLinus Torvalds };
201da177e4SLinus Torvalds 
211da177e4SLinus Torvalds struct alps_data {
222e5b636bSDmitry Torokhov 	struct input_dev *dev2;		/* Relative device */
231da177e4SLinus Torvalds 	char phys[32];			/* Phys */
24e38de678SHelge Deller 	const struct alps_model_info *i;/* Info */
251da177e4SLinus Torvalds 	int prev_fin;			/* Finger bit from previous packet */
261da177e4SLinus Torvalds };
271da177e4SLinus Torvalds 
2855e3d922SAndres Salomon #ifdef CONFIG_MOUSE_PS2_ALPS
29*b7802c5cSDmitry Torokhov int alps_detect(struct psmouse *psmouse, bool set_properties);
3055e3d922SAndres Salomon int alps_init(struct psmouse *psmouse);
3155e3d922SAndres Salomon #else
32*b7802c5cSDmitry Torokhov inline int alps_detect(struct psmouse *psmouse, bool set_properties)
3355e3d922SAndres Salomon {
3455e3d922SAndres Salomon 	return -ENOSYS;
3555e3d922SAndres Salomon }
3655e3d922SAndres Salomon inline int alps_init(struct psmouse *psmouse)
3755e3d922SAndres Salomon {
3855e3d922SAndres Salomon 	return -ENOSYS;
3955e3d922SAndres Salomon }
4055e3d922SAndres Salomon #endif /* CONFIG_MOUSE_PS2_ALPS */
4155e3d922SAndres Salomon 
421da177e4SLinus Torvalds #endif
43