};
 
 static struct omap_kp_platform_data kp_data = {
-       .rows   = 8,
-       .cols   = 8,
-       .keymap = fsample_keymap,
+       .rows           = 8,
+       .cols           = 8,
+       .keymap         = fsample_keymap,
+       .keymapsize     = ARRAY_SIZE(fsample_keymap),
+       .delay          = 4,
 };
 
 static struct platform_device kp_device = {
 
 };
 
 static struct omap_kp_platform_data h2_kp_data = {
-       .rows   = 8,
-       .cols   = 8,
-       .keymap = h2_keymap,
-       .rep    = 1,
+       .rows           = 8,
+       .cols           = 8,
+       .keymap         = h2_keymap,
+       .keymapsize     = ARRAY_SIZE(h2_keymap),
+       .rep            = 1,
+       .delay          = 9,
+       .dbounce        = 1,
 };
 
 static struct platform_device h2_kp_device = {
 
 };
 
 static struct omap_kp_platform_data h3_kp_data = {
-       .rows   = 8,
-       .cols   = 8,
-       .keymap = h3_keymap,
-       .rep    = 1,
+       .rows           = 8,
+       .cols           = 8,
+       .keymap         = h3_keymap,
+       .keymapsize     = ARRAY_SIZE(h3_keymap),
+       .rep            = 1,
+       .delay          = 9,
+       .dbounce        = 1,
 };
 
 static struct platform_device h3_kp_device = {
 
 };
 
 static struct omap_kp_platform_data innovator_kp_data = {
-       .rows   = 8,
-       .cols   = 8,
-       .keymap = innovator_keymap,
+       .rows           = 8,
+       .cols           = 8,
+       .keymap         = innovator_keymap,
+       .keymapsize     = ARRAY_SIZE(innovator_keymap),
+       .delay          = 4,
 };
 
 static struct platform_device innovator_kp_device = {
 
 };
 
 static struct omap_kp_platform_data nokia770_kp_data = {
-       .rows   = 8,
-       .cols   = 8,
-       .keymap = nokia770_keymap
+       .rows           = 8,
+       .cols           = 8,
+       .keymap         = nokia770_keymap,
+       .keymapsize     = ARRAY_SIZE(nokia770_keymap)
+       .delay          = 4,
 };
 
 static struct platform_device nokia770_kp_device = {
 
 };
 
 static struct omap_kp_platform_data osk_kp_data = {
-       .rows   = 8,
-       .cols   = 8,
-       .keymap = (int *) osk_keymap,
+       .rows           = 8,
+       .cols           = 8,
+       .keymap         = (int *) osk_keymap,
+       .keymapsize     = ARRAY_SIZE(osk_keymap),
+       .delay          = 9,
 };
 
 static struct resource osk5912_kp_resources[] = {
 
 };
 
 static struct omap_kp_platform_data kp_data = {
-       .rows   = 8,
-       .cols   = 8,
-       .keymap = p2_keymap,
+       .rows           = 8,
+       .cols           = 8,
+       .keymap         = p2_keymap,
+       .keymapsize     = ARRAY_SIZE(p2_keymap),
+       .delay          = 4,
+       .dbounce        = 1,
 };
 
 static struct platform_device kp_device = {
 
        .rows           = 6,
        .cols           = 7,
        .keymap         = h4_keymap,
+       .keymapsize     = ARRAY_SIZE(h4_keymap),
        .rep            = 1,
        .row_gpios      = row_gpios,
        .col_gpios      = col_gpios,