Merge branch 'linux-linaro-lsk-v3.10' into linux-linaro-lsk-v3.10-android
[firefly-linux-kernel-4.4.55.git] / include / linux / keycombo.h
1 /*
2  * include/linux/keycombo.h - platform data structure for keycombo driver
3  *
4  * Copyright (C) 2014 Google, Inc.
5  *
6  * This software is licensed under the terms of the GNU General Public
7  * License version 2, as published by the Free Software Foundation, and
8  * may be copied, distributed, and modified under those terms.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  */
16
17 #ifndef _LINUX_KEYCOMBO_H
18 #define _LINUX_KEYCOMBO_H
19
20 #define KEYCOMBO_NAME "keycombo"
21
22 /*
23  * if key_down_fn and key_up_fn are both present, you are guaranteed that
24  * key_down_fn will return before key_up_fn is called, and that key_up_fn
25  * is called iff key_down_fn is called.
26  */
27 struct keycombo_platform_data {
28         void (*key_down_fn)(void *);
29         void (*key_up_fn)(void *);
30         void *priv;
31         int key_down_delay; /* Time in ms */
32         int *keys_up;
33         int keys_down[]; /* 0 terminated */
34 };
35
36 #endif /* _LINUX_KEYCOMBO_H */