diff options
Diffstat (limited to 'drivers/input/keyboard/omap-keypad.c')
-rw-r--r-- | drivers/input/keyboard/omap-keypad.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/input/keyboard/omap-keypad.c b/drivers/input/keyboard/omap-keypad.c index 6b630d9d3dff..a0222db4dc86 100644 --- a/drivers/input/keyboard/omap-keypad.c +++ b/drivers/input/keyboard/omap-keypad.c | |||
@@ -61,6 +61,7 @@ struct omap_kp { | |||
61 | unsigned int cols; | 61 | unsigned int cols; |
62 | unsigned long delay; | 62 | unsigned long delay; |
63 | unsigned int debounce; | 63 | unsigned int debounce; |
64 | unsigned short keymap[]; | ||
64 | }; | 65 | }; |
65 | 66 | ||
66 | static DECLARE_TASKLET_DISABLED(kp_tasklet, omap_kp_tasklet, 0); | 67 | static DECLARE_TASKLET_DISABLED(kp_tasklet, omap_kp_tasklet, 0); |
@@ -316,13 +317,6 @@ static int __devinit omap_kp_probe(struct platform_device *pdev) | |||
316 | if (!cpu_is_omap24xx()) | 317 | if (!cpu_is_omap24xx()) |
317 | omap_writew(1, OMAP1_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); | 318 | omap_writew(1, OMAP1_MPUIO_BASE + OMAP_MPUIO_KBD_MASKIT); |
318 | 319 | ||
319 | input_dev->keycode = &omap_kp[1]; | ||
320 | input_dev->keycodesize = sizeof(unsigned short); | ||
321 | input_dev->keycodemax = keycodemax; | ||
322 | |||
323 | if (pdata->rep) | ||
324 | __set_bit(EV_REP, input_dev->evbit); | ||
325 | |||
326 | if (pdata->delay) | 320 | if (pdata->delay) |
327 | omap_kp->delay = pdata->delay; | 321 | omap_kp->delay = pdata->delay; |
328 | 322 | ||
@@ -371,9 +365,6 @@ static int __devinit omap_kp_probe(struct platform_device *pdev) | |||
371 | goto err2; | 365 | goto err2; |
372 | 366 | ||
373 | /* setup input device */ | 367 | /* setup input device */ |
374 | __set_bit(EV_KEY, input_dev->evbit); | ||
375 | matrix_keypad_build_keymap(pdata->keymap_data, row_shift, | ||
376 | input_dev->keycode, input_dev->keybit); | ||
377 | input_dev->name = "omap-keypad"; | 368 | input_dev->name = "omap-keypad"; |
378 | input_dev->phys = "omap-keypad/input0"; | 369 | input_dev->phys = "omap-keypad/input0"; |
379 | input_dev->dev.parent = &pdev->dev; | 370 | input_dev->dev.parent = &pdev->dev; |
@@ -383,6 +374,15 @@ static int __devinit omap_kp_probe(struct platform_device *pdev) | |||
383 | input_dev->id.product = 0x0001; | 374 | input_dev->id.product = 0x0001; |
384 | input_dev->id.version = 0x0100; | 375 | input_dev->id.version = 0x0100; |
385 | 376 | ||
377 | if (pdata->rep) | ||
378 | __set_bit(EV_REP, input_dev->evbit); | ||
379 | |||
380 | ret = matrix_keypad_build_keymap(pdata->keymap_data, NULL, | ||
381 | pdata->rows, pdata->cols, | ||
382 | omap_kp->keymap, input_dev); | ||
383 | if (ret < 0) | ||
384 | goto err3; | ||
385 | |||
386 | ret = input_register_device(omap_kp->input); | 386 | ret = input_register_device(omap_kp->input); |
387 | if (ret < 0) { | 387 | if (ret < 0) { |
388 | printk(KERN_ERR "Unable to register omap-keypad input device\n"); | 388 | printk(KERN_ERR "Unable to register omap-keypad input device\n"); |