Commit b18db3d91234c03ad080d317878c7c77672ba326
Committed by
Dmitry Torokhov
1 parent
42f578741b
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
Input: gpio_keys - fix struct device declared inside parameter list
A struct device parameter is used in the enable and disable callbacks to distinguish between different gpio_keys devices. Platforms that don't use these callbacks may not include struct device at all, as seen on arch/arm/mach-s3c2410/mach-n30.c Signed-off-by: Heiko Stuebner <heiko@sntech.de> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Showing 1 changed file with 2 additions and 0 deletions Inline Diff
include/linux/gpio_keys.h
1 | #ifndef _GPIO_KEYS_H | 1 | #ifndef _GPIO_KEYS_H |
2 | #define _GPIO_KEYS_H | 2 | #define _GPIO_KEYS_H |
3 | 3 | ||
4 | struct device; | ||
5 | |||
4 | struct gpio_keys_button { | 6 | struct gpio_keys_button { |
5 | /* Configuration parameters */ | 7 | /* Configuration parameters */ |
6 | unsigned int code; /* input event code (KEY_*, SW_*) */ | 8 | unsigned int code; /* input event code (KEY_*, SW_*) */ |
7 | int gpio; | 9 | int gpio; |
8 | int active_low; | 10 | int active_low; |
9 | const char *desc; | 11 | const char *desc; |
10 | unsigned int type; /* input event type (EV_KEY, EV_SW, EV_ABS) */ | 12 | unsigned int type; /* input event type (EV_KEY, EV_SW, EV_ABS) */ |
11 | int wakeup; /* configure the button as a wake-up source */ | 13 | int wakeup; /* configure the button as a wake-up source */ |
12 | int debounce_interval; /* debounce ticks interval in msecs */ | 14 | int debounce_interval; /* debounce ticks interval in msecs */ |
13 | bool can_disable; | 15 | bool can_disable; |
14 | int value; /* axis value for EV_ABS */ | 16 | int value; /* axis value for EV_ABS */ |
15 | }; | 17 | }; |
16 | 18 | ||
17 | struct gpio_keys_platform_data { | 19 | struct gpio_keys_platform_data { |
18 | struct gpio_keys_button *buttons; | 20 | struct gpio_keys_button *buttons; |
19 | int nbuttons; | 21 | int nbuttons; |
20 | unsigned int poll_interval; /* polling interval in msecs - | 22 | unsigned int poll_interval; /* polling interval in msecs - |
21 | for polling driver only */ | 23 | for polling driver only */ |
22 | unsigned int rep:1; /* enable input subsystem auto repeat */ | 24 | unsigned int rep:1; /* enable input subsystem auto repeat */ |
23 | int (*enable)(struct device *dev); | 25 | int (*enable)(struct device *dev); |
24 | void (*disable)(struct device *dev); | 26 | void (*disable)(struct device *dev); |
25 | const char *name; /* input device name */ | 27 | const char *name; /* input device name */ |
26 | }; | 28 | }; |
27 | 29 | ||
28 | #endif | 30 | #endif |
29 | 31 |