diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-02 20:16:10 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2012-10-02 20:16:10 -0400 |
| commit | fc47912d9cda50ae6bd9ca30e97e8c03de5b7b60 (patch) | |
| tree | d7da6ce3b23c1524e681ee33aa6e21d3c0586108 /include/linux | |
| parent | 06fe918e9f177dc2a0592b0ad40a6ce4920b2033 (diff) | |
| parent | dde3ada3d0069855eeb353707b2b0f946191cfd6 (diff) | |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input
Pull input updates from Dmitry Torokhov:
"A few drivers were updated with device tree bindings and others got a
few small cleanups and fixes."
Fix trivial conflict in drivers/input/keyboard/omap-keypad.c due to
changes clashing with a whitespace cleanup.
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (28 commits)
Input: wacom - mark Intuos5 pad as in-prox when touching buttons
Input: synaptics - adjust threshold for treating position values as negative
Input: hgpk - use %*ph to dump small buffer
Input: gpio_keys_polled - fix dt pdata->nbuttons
Input: Add KD[GS]KBDIACRUC ioctls to the compatible list
Input: omap-keypad - fixed formatting
Input: tegra - move platform data header
Input: wacom - add support for EMR on Cintiq 24HD touch
Input: s3c2410_ts - make s3c_ts_pmops const
Input: samsung-keypad - use of_get_child_count() helper
Input: samsung-keypad - use of_match_ptr()
Input: uinput - fix formatting
Input: uinput - specify exact bit sizes on userspace APIs
Input: uinput - mark failed submission requests as free
Input: uinput - fix race that can block nonblocking read
Input: uinput - return -EINVAL when read buffer size is too small
Input: uinput - take event lock when fetching events from buffer
Input: get rid of MATCH_BIT() macro
Input: rotary-encoder - add DT bindings
Input: rotary-encoder - constify platform data pointers
...
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/input/tegra_kbc.h | 62 | ||||
| -rw-r--r-- | include/linux/uinput.h | 27 |
2 files changed, 76 insertions, 13 deletions
diff --git a/include/linux/input/tegra_kbc.h b/include/linux/input/tegra_kbc.h new file mode 100644 index 000000000000..a13025612939 --- /dev/null +++ b/include/linux/input/tegra_kbc.h | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | /* | ||
| 2 | * Platform definitions for tegra-kbc keyboard input driver | ||
| 3 | * | ||
| 4 | * Copyright (c) 2010-2011, NVIDIA Corporation. | ||
| 5 | * | ||
| 6 | * This program is free software; you can redistribute it and/or modify | ||
| 7 | * it under the terms of the GNU General Public License as published by | ||
| 8 | * the Free Software Foundation; either version 2 of the License, or | ||
| 9 | * (at your option) any later version. | ||
| 10 | * | ||
| 11 | * This program is distributed in the hope that it will be useful, but WITHOUT | ||
| 12 | * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | ||
| 13 | * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for | ||
| 14 | * more details. | ||
| 15 | * | ||
| 16 | * You should have received a copy of the GNU General Public License along | ||
| 17 | * with this program; if not, write to the Free Software Foundation, Inc., | ||
| 18 | * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
| 19 | */ | ||
| 20 | |||
| 21 | #ifndef ASMARM_ARCH_TEGRA_KBC_H | ||
| 22 | #define ASMARM_ARCH_TEGRA_KBC_H | ||
| 23 | |||
| 24 | #include <linux/types.h> | ||
| 25 | #include <linux/input/matrix_keypad.h> | ||
| 26 | |||
| 27 | #define KBC_MAX_GPIO 24 | ||
| 28 | #define KBC_MAX_KPENT 8 | ||
| 29 | |||
| 30 | #define KBC_MAX_ROW 16 | ||
| 31 | #define KBC_MAX_COL 8 | ||
| 32 | #define KBC_MAX_KEY (KBC_MAX_ROW * KBC_MAX_COL) | ||
| 33 | |||
| 34 | enum tegra_pin_type { | ||
| 35 | PIN_CFG_IGNORE, | ||
| 36 | PIN_CFG_COL, | ||
| 37 | PIN_CFG_ROW, | ||
| 38 | }; | ||
| 39 | |||
| 40 | struct tegra_kbc_pin_cfg { | ||
| 41 | enum tegra_pin_type type; | ||
| 42 | unsigned char num; | ||
| 43 | }; | ||
| 44 | |||
| 45 | struct tegra_kbc_wake_key { | ||
| 46 | u8 row:4; | ||
| 47 | u8 col:4; | ||
| 48 | }; | ||
| 49 | |||
| 50 | struct tegra_kbc_platform_data { | ||
| 51 | unsigned int debounce_cnt; | ||
| 52 | unsigned int repeat_cnt; | ||
| 53 | |||
| 54 | struct tegra_kbc_pin_cfg pin_cfg[KBC_MAX_GPIO]; | ||
| 55 | const struct matrix_keymap_data *keymap_data; | ||
| 56 | |||
| 57 | u32 wakeup_key; | ||
| 58 | bool wakeup; | ||
| 59 | bool use_fn_map; | ||
| 60 | bool use_ghost_filter; | ||
| 61 | }; | ||
| 62 | #endif | ||
diff --git a/include/linux/uinput.h b/include/linux/uinput.h index 2aa2881b0df9..c454bbe39ee7 100644 --- a/include/linux/uinput.h +++ b/include/linux/uinput.h | |||
| @@ -32,6 +32,7 @@ | |||
| 32 | * - first public version | 32 | * - first public version |
| 33 | */ | 33 | */ |
| 34 | 34 | ||
| 35 | #include <linux/types.h> | ||
| 35 | #include <linux/input.h> | 36 | #include <linux/input.h> |
| 36 | 37 | ||
| 37 | #define UINPUT_VERSION 3 | 38 | #define UINPUT_VERSION 3 |
| @@ -44,14 +45,14 @@ | |||
| 44 | enum uinput_state { UIST_NEW_DEVICE, UIST_SETUP_COMPLETE, UIST_CREATED }; | 45 | enum uinput_state { UIST_NEW_DEVICE, UIST_SETUP_COMPLETE, UIST_CREATED }; |
| 45 | 46 | ||
| 46 | struct uinput_request { | 47 | struct uinput_request { |
| 47 | int id; | 48 | unsigned int id; |
| 48 | int code; /* UI_FF_UPLOAD, UI_FF_ERASE */ | 49 | unsigned int code; /* UI_FF_UPLOAD, UI_FF_ERASE */ |
| 49 | 50 | ||
| 50 | int retval; | 51 | int retval; |
| 51 | struct completion done; | 52 | struct completion done; |
| 52 | 53 | ||
| 53 | union { | 54 | union { |
| 54 | int effect_id; | 55 | unsigned int effect_id; |
| 55 | struct { | 56 | struct { |
| 56 | struct ff_effect *effect; | 57 | struct ff_effect *effect; |
| 57 | struct ff_effect *old; | 58 | struct ff_effect *old; |
| @@ -77,16 +78,16 @@ struct uinput_device { | |||
| 77 | #endif /* __KERNEL__ */ | 78 | #endif /* __KERNEL__ */ |
| 78 | 79 | ||
| 79 | struct uinput_ff_upload { | 80 | struct uinput_ff_upload { |
| 80 | int request_id; | 81 | __u32 request_id; |
| 81 | int retval; | 82 | __s32 retval; |
| 82 | struct ff_effect effect; | 83 | struct ff_effect effect; |
| 83 | struct ff_effect old; | 84 | struct ff_effect old; |
| 84 | }; | 85 | }; |
| 85 | 86 | ||
| 86 | struct uinput_ff_erase { | 87 | struct uinput_ff_erase { |
| 87 | int request_id; | 88 | __u32 request_id; |
| 88 | int retval; | 89 | __s32 retval; |
| 89 | int effect_id; | 90 | __u32 effect_id; |
| 90 | }; | 91 | }; |
| 91 | 92 | ||
| 92 | /* ioctl */ | 93 | /* ioctl */ |
| @@ -166,11 +167,11 @@ struct uinput_ff_erase { | |||
| 166 | struct uinput_user_dev { | 167 | struct uinput_user_dev { |
| 167 | char name[UINPUT_MAX_NAME_SIZE]; | 168 | char name[UINPUT_MAX_NAME_SIZE]; |
| 168 | struct input_id id; | 169 | struct input_id id; |
| 169 | int ff_effects_max; | 170 | __u32 ff_effects_max; |
| 170 | int absmax[ABS_CNT]; | 171 | __s32 absmax[ABS_CNT]; |
| 171 | int absmin[ABS_CNT]; | 172 | __s32 absmin[ABS_CNT]; |
| 172 | int absfuzz[ABS_CNT]; | 173 | __s32 absfuzz[ABS_CNT]; |
| 173 | int absflat[ABS_CNT]; | 174 | __s32 absflat[ABS_CNT]; |
| 174 | }; | 175 | }; |
| 175 | #endif /* __UINPUT_H_ */ | 176 | #endif /* __UINPUT_H_ */ |
| 176 | 177 | ||
