blob: bc87936fee1a4229202f8f462dfe774f6e2faff3 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
2 * ALPS touchpad PS/2 mouse driver
3 *
4 * Copyright (c) 2003 Peter Osterlund <petero2@telia.com>
5 * Copyright (c) 2005 Vojtech Pavlik <vojtech@suse.cz>
6 *
7 * This program is free software; you can redistribute it and/or modify it
8 * under the terms of the GNU General Public License version 2 as published by
9 * the Free Software Foundation.
10 */
11
12#ifndef _ALPS_H
13#define _ALPS_H
14
Linus Torvalds1da177e2005-04-16 15:20:36 -070015struct alps_model_info {
16 unsigned char signature[3];
17 unsigned char byte0, mask0;
18 unsigned char flags;
19};
20
21struct alps_data {
Dmitry Torokhov2e5b6362005-09-15 02:01:44 -050022 struct input_dev *dev2; /* Relative device */
Linus Torvalds1da177e2005-04-16 15:20:36 -070023 char phys[32]; /* Phys */
Helge Dellere38de672006-09-10 21:54:39 -040024 const struct alps_model_info *i;/* Info */
Linus Torvalds1da177e2005-04-16 15:20:36 -070025 int prev_fin; /* Finger bit from previous packet */
26};
27
Andres Salomon55e3d922007-03-10 01:39:54 -050028#ifdef CONFIG_MOUSE_PS2_ALPS
Dmitry Torokhovb7802c52009-09-09 19:13:20 -070029int alps_detect(struct psmouse *psmouse, bool set_properties);
Andres Salomon55e3d922007-03-10 01:39:54 -050030int alps_init(struct psmouse *psmouse);
31#else
Dmitry Torokhovb7802c52009-09-09 19:13:20 -070032inline int alps_detect(struct psmouse *psmouse, bool set_properties)
Andres Salomon55e3d922007-03-10 01:39:54 -050033{
34 return -ENOSYS;
35}
36inline int alps_init(struct psmouse *psmouse)
37{
38 return -ENOSYS;
39}
40#endif /* CONFIG_MOUSE_PS2_ALPS */
41
Linus Torvalds1da177e2005-04-16 15:20:36 -070042#endif