These changes are the raw update to linux-4.4.6-rt14. Kernel sources
[kvmfornfv.git] / kernel / include / linux / extcon / extcon-gpio.h
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
23 #include <linux/extcon.h>
24
25 /**
26  * struct gpio_extcon_pdata - A simple GPIO-controlled extcon device.
27  * @extcon_id:          The unique id of specific external connector.
28  * @gpio:               Corresponding GPIO.
29  * @gpio_active_low:    Boolean describing whether gpio active state is 1 or 0
30  *                      If true, low state of gpio means active.
31  *                      If false, high state of gpio means active.
32  * @debounce:           Debounce time for GPIO IRQ in ms.
33  * @irq_flags:          IRQ Flags (e.g., IRQF_TRIGGER_LOW).
34  * @check_on_resume:    Boolean describing whether to check the state of gpio
35  *                      while resuming from sleep.
36  */
37 struct gpio_extcon_pdata {
38         unsigned int extcon_id;
39         unsigned gpio;
40         bool gpio_active_low;
41         unsigned long debounce;
42         unsigned long irq_flags;
43
44         bool check_on_resume;
45 };
46
47 #endif /* __EXTCON_GPIO_H__ */