summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDan Willemsen <dwillemsen@nvidia.com>2011-05-17 13:07:35 -0700
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:46:42 -0800
commit8d640a2785afd7b8f0f56f5457cd227d40d44497 (patch)
treefc2f4e04945b6ea7d8940b38f218cc430f3a804b
parente21c90edd5f4069d07f20e1db0e585b76c468645 (diff)
ARM: tegra: ventana: Update KBC for upstream driver
Rebase-Id: R022aebd091ae3dabe82863434cc25208518c8445
-rw-r--r--arch/arm/mach-tegra/board-ventana-kbc.c23
1 files changed, 13 insertions, 10 deletions
diff --git a/arch/arm/mach-tegra/board-ventana-kbc.c b/arch/arm/mach-tegra/board-ventana-kbc.c
index d157d065b8e1..e54a45068205 100644
--- a/arch/arm/mach-tegra/board-ventana-kbc.c
+++ b/arch/arm/mach-tegra/board-ventana-kbc.c
@@ -41,7 +41,7 @@
#define VENTANA_ROW_COUNT 15
#define VENTANA_COL_COUNT 7
-static int plain_kbd_keycode[] = {
+static const u32 ventana_keymap[] = {
KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,
KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,
KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,
@@ -74,6 +74,13 @@ static int plain_kbd_keycode[] = {
KEY_VOLUMEDOWN, KEY_VOLUMEUP, KEY_RESERVED,
};
+
+
+static const struct matrix_keymap_data ventana_keymap_data = {
+ .keymap = ventana_keymap,
+ .keymap_size = ARRAY_SIZE(ventana_keymap),
+};
+
static struct tegra_kbc_wake_key ventana_wake_cfg[] = {
[0] = {
.row = 14,
@@ -84,13 +91,9 @@ static struct tegra_kbc_wake_key ventana_wake_cfg[] = {
static struct tegra_kbc_platform_data ventana_kbc_platform_data = {
.debounce_cnt = 20,
.repeat_cnt = 50 * 32,
- .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_cnt = 1,
.wake_cfg = &ventana_wake_cfg[0],
+ .keymap_data = &ventana_keymap_data,
};
static struct resource ventana_kbc_resources[] = {
@@ -126,16 +129,16 @@ int __init ventana_kbc_init(void)
/* 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;
+ data->pin_cfg[i].is_row = false;
}
for (i = 0; i < VENTANA_ROW_COUNT; i++) {
data->pin_cfg[i].num = i;
- data->pin_cfg[i].pin_type = kbc_pin_row;
+ data->pin_cfg[i].is_row = true;
}
for (i = 0; i < VENTANA_COL_COUNT; i++) {
data->pin_cfg[i + VENTANA_ROW_COUNT].num = i;
- data->pin_cfg[i + VENTANA_ROW_COUNT].pin_type = kbc_pin_col;
+ data->pin_cfg[i + VENTANA_ROW_COUNT].is_row = false;
}
platform_device_register(&ventana_kbc_device);
return 0;