diff options
-rw-r--r-- | arch/arm/plat-samsung/include/plat/keypad.h | 27 | ||||
-rw-r--r-- | drivers/input/keyboard/Kconfig | 5 | ||||
-rw-r--r-- | drivers/input/keyboard/samsung-keypad.c | 2 | ||||
-rw-r--r-- | include/linux/input/samsung-keypad.h | 43 |
4 files changed, 48 insertions, 29 deletions
diff --git a/arch/arm/plat-samsung/include/plat/keypad.h b/arch/arm/plat-samsung/include/plat/keypad.h index b59a6483cd8a..c81ace332a1e 100644 --- a/arch/arm/plat-samsung/include/plat/keypad.h +++ b/arch/arm/plat-samsung/include/plat/keypad.h | |||
@@ -13,32 +13,7 @@ | |||
13 | #ifndef __PLAT_SAMSUNG_KEYPAD_H | 13 | #ifndef __PLAT_SAMSUNG_KEYPAD_H |
14 | #define __PLAT_SAMSUNG_KEYPAD_H | 14 | #define __PLAT_SAMSUNG_KEYPAD_H |
15 | 15 | ||
16 | #include <linux/input/matrix_keypad.h> | 16 | #include <linux/input/samsung-keypad.h> |
17 | |||
18 | #define SAMSUNG_MAX_ROWS 8 | ||
19 | #define SAMSUNG_MAX_COLS 8 | ||
20 | |||
21 | /** | ||
22 | * struct samsung_keypad_platdata - Platform device data for Samsung Keypad. | ||
23 | * @keymap_data: pointer to &matrix_keymap_data. | ||
24 | * @rows: number of keypad row supported. | ||
25 | * @cols: number of keypad col supported. | ||
26 | * @no_autorepeat: disable key autorepeat. | ||
27 | * @wakeup: controls whether the device should be set up as wakeup source. | ||
28 | * @cfg_gpio: configure the GPIO. | ||
29 | * | ||
30 | * Initialisation data specific to either the machine or the platform | ||
31 | * for the device driver to use or call-back when configuring gpio. | ||
32 | */ | ||
33 | struct samsung_keypad_platdata { | ||
34 | const struct matrix_keymap_data *keymap_data; | ||
35 | unsigned int rows; | ||
36 | unsigned int cols; | ||
37 | bool no_autorepeat; | ||
38 | bool wakeup; | ||
39 | |||
40 | void (*cfg_gpio)(unsigned int rows, unsigned int cols); | ||
41 | }; | ||
42 | 17 | ||
43 | /** | 18 | /** |
44 | * samsung_keypad_set_platdata - Set platform data for Samsung Keypad device. | 19 | * samsung_keypad_set_platdata - Set platform data for Samsung Keypad device. |
diff --git a/drivers/input/keyboard/Kconfig b/drivers/input/keyboard/Kconfig index 90d5f0a8f882..cdc385b2cf7d 100644 --- a/drivers/input/keyboard/Kconfig +++ b/drivers/input/keyboard/Kconfig | |||
@@ -441,9 +441,10 @@ config KEYBOARD_PMIC8XXX | |||
441 | 441 | ||
442 | config KEYBOARD_SAMSUNG | 442 | config KEYBOARD_SAMSUNG |
443 | tristate "Samsung keypad support" | 443 | tristate "Samsung keypad support" |
444 | depends on SAMSUNG_DEV_KEYPAD | 444 | depends on HAVE_CLK |
445 | help | 445 | help |
446 | Say Y here if you want to use the Samsung keypad. | 446 | Say Y here if you want to use the keypad on your Samsung mobile |
447 | device. | ||
447 | 448 | ||
448 | To compile this driver as a module, choose M here: the | 449 | To compile this driver as a module, choose M here: the |
449 | module will be called samsung-keypad. | 450 | module will be called samsung-keypad. |
diff --git a/drivers/input/keyboard/samsung-keypad.c b/drivers/input/keyboard/samsung-keypad.c index d244fdf9ecdf..1a2b755564f2 100644 --- a/drivers/input/keyboard/samsung-keypad.c +++ b/drivers/input/keyboard/samsung-keypad.c | |||
@@ -22,7 +22,7 @@ | |||
22 | #include <linux/platform_device.h> | 22 | #include <linux/platform_device.h> |
23 | #include <linux/slab.h> | 23 | #include <linux/slab.h> |
24 | #include <linux/sched.h> | 24 | #include <linux/sched.h> |
25 | #include <plat/keypad.h> | 25 | #include <linux/input/samsung-keypad.h> |
26 | 26 | ||
27 | #define SAMSUNG_KEYIFCON 0x00 | 27 | #define SAMSUNG_KEYIFCON 0x00 |
28 | #define SAMSUNG_KEYIFSTSCLR 0x04 | 28 | #define SAMSUNG_KEYIFSTSCLR 0x04 |
diff --git a/include/linux/input/samsung-keypad.h b/include/linux/input/samsung-keypad.h new file mode 100644 index 000000000000..f25619bfd8a8 --- /dev/null +++ b/include/linux/input/samsung-keypad.h | |||
@@ -0,0 +1,43 @@ | |||
1 | /* | ||
2 | * Samsung Keypad platform data definitions | ||
3 | * | ||
4 | * Copyright (C) 2010 Samsung Electronics Co.Ltd | ||
5 | * Author: Joonyoung Shim <jy0922.shim@samsung.com> | ||
6 | * | ||
7 | * This program is free software; you can redistribute it and/or modify it | ||
8 | * under the terms of the GNU General Public License as published by the | ||
9 | * Free Software Foundation; either version 2 of the License, or (at your | ||
10 | * option) any later version. | ||
11 | */ | ||
12 | |||
13 | #ifndef __SAMSUNG_KEYPAD_H | ||
14 | #define __SAMSUNG_KEYPAD_H | ||
15 | |||
16 | #include <linux/input/matrix_keypad.h> | ||
17 | |||
18 | #define SAMSUNG_MAX_ROWS 8 | ||
19 | #define SAMSUNG_MAX_COLS 8 | ||
20 | |||
21 | /** | ||
22 | * struct samsung_keypad_platdata - Platform device data for Samsung Keypad. | ||
23 | * @keymap_data: pointer to &matrix_keymap_data. | ||
24 | * @rows: number of keypad row supported. | ||
25 | * @cols: number of keypad col supported. | ||
26 | * @no_autorepeat: disable key autorepeat. | ||
27 | * @wakeup: controls whether the device should be set up as wakeup source. | ||
28 | * @cfg_gpio: configure the GPIO. | ||
29 | * | ||
30 | * Initialisation data specific to either the machine or the platform | ||
31 | * for the device driver to use or call-back when configuring gpio. | ||
32 | */ | ||
33 | struct samsung_keypad_platdata { | ||
34 | const struct matrix_keymap_data *keymap_data; | ||
35 | unsigned int rows; | ||
36 | unsigned int cols; | ||
37 | bool no_autorepeat; | ||
38 | bool wakeup; | ||
39 | |||
40 | void (*cfg_gpio)(unsigned int rows, unsigned int cols); | ||
41 | }; | ||
42 | |||
43 | #endif /* __SAMSUNG_KEYPAD_H */ | ||