extcon-gpio.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Single-state GPIO extcon driver based on extcon class
  3. *
  4. * Copyright (C) 2012 Samsung Electronics
  5. * Author: MyungJoo Ham <myungjoo.ham@samsung.com>
  6. *
  7. * based on switch class driver
  8. * Copyright (C) 2008 Google, Inc.
  9. * Author: Mike Lockwood <lockwood@android.com>
  10. *
  11. * This software is licensed under the terms of the GNU General Public
  12. * License version 2, as published by the Free Software Foundation, and
  13. * may be copied, distributed, and modified under those terms.
  14. *
  15. * This program is distributed in the hope that it will be useful,
  16. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  17. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. */
  20. #ifndef __EXTCON_GPIO_H__
  21. #define __EXTCON_GPIO_H__ __FILE__
  22. #include <linux/extcon.h>
  23. /**
  24. * struct gpio_extcon_pdata - A simple GPIO-controlled extcon device.
  25. * @extcon_id: The unique id of specific external connector.
  26. * @gpio: Corresponding GPIO.
  27. * @gpio_active_low: Boolean describing whether gpio active state is 1 or 0
  28. * If true, low state of gpio means active.
  29. * If false, high state of gpio means active.
  30. * @debounce: Debounce time for GPIO IRQ in ms.
  31. * @irq_flags: IRQ Flags (e.g., IRQF_TRIGGER_LOW).
  32. * @check_on_resume: Boolean describing whether to check the state of gpio
  33. * while resuming from sleep.
  34. */
  35. struct gpio_extcon_pdata {
  36. unsigned int extcon_id;
  37. unsigned gpio;
  38. bool gpio_active_low;
  39. unsigned long debounce;
  40. unsigned long irq_flags;
  41. bool check_on_resume;
  42. };
  43. #endif /* __EXTCON_GPIO_H__ */