alps.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  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. #ifndef _ALPS_H
  12. #define _ALPS_H
  13. #define ALPS_PROTO_V1 0
  14. #define ALPS_PROTO_V2 1
  15. struct alps_model_info {
  16. unsigned char signature[3];
  17. unsigned char proto_version;
  18. unsigned char byte0, mask0;
  19. unsigned char flags;
  20. };
  21. struct alps_data {
  22. struct input_dev *dev2; /* Relative device */
  23. char phys[32]; /* Phys */
  24. const struct alps_model_info *i;/* Info */
  25. int prev_fin; /* Finger bit from previous packet */
  26. struct timer_list timer;
  27. };
  28. #ifdef CONFIG_MOUSE_PS2_ALPS
  29. int alps_detect(struct psmouse *psmouse, bool set_properties);
  30. int alps_init(struct psmouse *psmouse);
  31. #else
  32. inline int alps_detect(struct psmouse *psmouse, bool set_properties)
  33. {
  34. return -ENOSYS;
  35. }
  36. inline int alps_init(struct psmouse *psmouse)
  37. {
  38. return -ENOSYS;
  39. }
  40. #endif /* CONFIG_MOUSE_PS2_ALPS */
  41. #endif