diff options
author | Pradeep Goudagunta <pgoudagunta@nvidia.com> | 2011-01-19 20:01:22 +0530 |
---|---|---|
committer | Dan Willemsen <dwillemsen@nvidia.com> | 2011-11-30 21:46:23 -0800 |
commit | 9eb8389a71f588dd151e4896a7bac72baf81461d (patch) | |
tree | ebe125c805b07541b9a399021c76eee3e1dc6271 /arch/arm/mach-tegra/board-whistler-kbc.c | |
parent | 948422b1ccd20871bf9ee91bdc6feb6d4696f38b (diff) |
[ARM] tegra:kbc:Misc fixes and cleanups
Following are changes:
- Fixes stylistic, indenting and coding style issue.
- Added option for scan timeout.
- Fixes code to have only required number of key codes from board.
- Remove the keycodes from driver and only based on board table.
- Fixes the kbc platform data to provide better option for configuration.
- Modified board files to build properly.
Original-Change-Id: I5e6b9f26ecf8db0769aabac9574cfb6d48c1f061
Reviewed-on: http://git-master/r/16254
Tested-by: Pradeep Goudagunta <pgoudagunta@nvidia.com>
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Sachin Nikam <snikam@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Rebase-Id: R3c23e26a5a9faa1ae3889fea08426cf0aae6f190
Diffstat (limited to 'arch/arm/mach-tegra/board-whistler-kbc.c')
-rw-r--r-- | arch/arm/mach-tegra/board-whistler-kbc.c | 134 |
1 files changed, 31 insertions, 103 deletions
diff --git a/arch/arm/mach-tegra/board-whistler-kbc.c b/arch/arm/mach-tegra/board-whistler-kbc.c index 6dbe66911e17..ca62d8570115 100644 --- a/arch/arm/mach-tegra/board-whistler-kbc.c +++ b/arch/arm/mach-tegra/board-whistler-kbc.c @@ -40,86 +40,26 @@ * should NOT be configured as KBC */ #ifdef CONFIG_INPUT_ALPS_GPIO_SCROLLWHEEL -#define KBC_ROWS 3 -#define KBC_COLS 2 +#define WHISTLER_ROW_COUNT 2 +#define WHISTLER_COL_COUNT 2 #else -#define KBC_ROWS 4 -#define KBC_COLS 6 +#define WHISTLER_ROW_COUNT 4 +#define WHISTLER_COL_COUNT 2 #endif +#ifdef CONFIG_INPUT_ALPS_GPIO_SCROLLWHEEL static int plain_kbd_keycode[] = { - KEY_POWER, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_HOME, KEY_BACK, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_VOLUMEDOWN, KEY_VOLUMEUP, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED + KEY_POWER, KEY_RESERVED, + KEY_HOME, KEY_BACK, }; - -static int fn_kbd_keycode[] = { - KEY_POWER, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_HOME, KEY_BACK, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, +#else +static int plain_kbd_keycode[] = { + KEY_POWER, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, + KEY_HOME, KEY_BACK, KEY_RESERVED, KEY_RESERVED, + KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_VOLUMEDOWN, KEY_VOLUMEUP, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, - KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED }; - - - - +#endif static struct tegra_kbc_wake_key whistler_wake_cfg[] = { [0] = { .row = 0, @@ -127,16 +67,18 @@ static struct tegra_kbc_wake_key whistler_wake_cfg[] = { }, }; - static struct tegra_kbc_platform_data whistler_kbc_platform_data = { .debounce_cnt = 20, .repeat_cnt = 50 * 32, - .wake_cnt = 1, + .scan_timeout_cnt = 3000 * 32, + .plain_keycode = plain_kbd_keycode, + .fn_keycode = NULL, + .is_filter_keys = false, + .is_wake_on_any_key = false, + .wake_key_cnt = 1, .wake_cfg = &whistler_wake_cfg[0], - .filter_keys = true, }; - static struct resource whistler_kbc_resources[] = { [0] = { .start = TEGRA_KBC_BASE, @@ -150,7 +92,6 @@ static struct resource whistler_kbc_resources[] = { }, }; - struct platform_device whistler_kbc_device = { .name = "tegra-kbc", .id = -1, @@ -164,38 +105,25 @@ struct platform_device whistler_kbc_device = { int __init whistler_kbc_init(void) { struct tegra_kbc_platform_data *data = &whistler_kbc_platform_data; - int i, j; + int i; pr_info("KBC: whistler_kbc_init\n"); - /* - * Setup the pin configuration information. - */ - for (i = 0; i < KBC_MAX_ROW; i++) { - if (i < KBC_ROWS) { - data->pin_cfg[i].num = i; - data->pin_cfg[i].is_row = true; - data->pin_cfg[i].is_col = false; - } else { - data->pin_cfg[i].is_row = false; - data->pin_cfg[i].is_col = false; - } + /* Setup the pin configuration information. */ + for (i = 0; i < KBC_MAX_GPIO; i++) { + data->pin_cfg[i].num = 0; + data->pin_cfg[i].pin_type = kbc_pin_unused; } - for (j = 0; j < KBC_MAX_COL; j++) { - if (j < KBC_COLS) { - data->pin_cfg[i + j].num = j; - data->pin_cfg[i + j].is_row = false; - data->pin_cfg[i + j].is_col = true; - } else { - data->pin_cfg[i + j].is_row = false; - data->pin_cfg[i + j].is_col = false; - } + for (i = 0; i < WHISTLER_ROW_COUNT; i++) { + data->pin_cfg[i].num = i; + data->pin_cfg[i].pin_type = kbc_pin_row; + } + for (i = 0; i < WHISTLER_COL_COUNT; i++) { + data->pin_cfg[i + WHISTLER_ROW_COUNT].num = i; + data->pin_cfg[i + WHISTLER_ROW_COUNT].pin_type = kbc_pin_col; } - data->plain_keycode = plain_kbd_keycode; - data->fn_keycode = fn_kbd_keycode; - data->filter_keys = true; platform_device_register(&whistler_kbc_device); return 0; } |