/include/linux/input/pmic8xxx-pwrkey.h

https://github.com/airy09/android_kernel_sony_apq8064 · C Header · 48 lines · 17 code · 6 blank · 25 comment · 0 complexity · 0cf739dd122dc16f8a51d5198c6577d8 MD5 · raw file

  1. /* Copyright (c) 2010-2011, The Linux Foundation. All rights reserved.
  2. *
  3. * This program is free software; you can redistribute it and/or modify
  4. * it under the terms of the GNU General Public License version 2 and
  5. * only version 2 as published by the Free Software Foundation.
  6. *
  7. * This program is distributed in the hope that it will be useful,
  8. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. * GNU General Public License for more details.
  11. */
  12. #ifndef __PMIC8XXX_PWRKEY_H__
  13. #define __PMIC8XXX_PWRKEY_H__
  14. #ifdef CONFIG_PMIC8XXX_FORCECRASH
  15. #include <linux/platform_device.h>
  16. #endif
  17. #define PM8XXX_PWRKEY_DEV_NAME "pm8xxx-pwrkey"
  18. /**
  19. * struct pm8xxx_pwrkey_platform_data - platform data for pwrkey driver
  20. * @pull up: power on register control for pull up/down configuration
  21. * @kpd_trigger_delay_us: time delay for power key state change interrupt
  22. * trigger.
  23. * @wakeup: configure power key as wakeup source
  24. */
  25. struct pm8xxx_pwrkey_platform_data {
  26. bool pull_up;
  27. /* Time delay for pwr-key state change interrupt triggering in micro-
  28. * second. The actual delay can only be one of these eight levels:
  29. * 2 sec, 1 sec, 1/2 sec, 1/4 sec, 1/8 sec, 1/16 sec, 1/32 sec, and
  30. * 1/64 sec. The valid range of kpd_trigger_delay_us is 1/64 second to
  31. * 2 seconds. A value within the valid range will be rounded down to the
  32. * closest level. Any value outside the valid range will be rejected.
  33. */
  34. u32 kpd_trigger_delay_us;
  35. u32 wakeup;
  36. };
  37. #ifdef CONFIG_PMIC8XXX_FORCECRASH
  38. extern int pmic8xxx_forcecrash_init(struct platform_device *);
  39. extern void pmic8xxx_forcecrash_exit(struct platform_device *);
  40. extern void pmic8xxx_forcecrash_timer_setup(bool);
  41. #endif
  42. #endif /* __PMIC8XXX_PWRKEY_H__ */