aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/input/keyboard/imx_keypad.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/input/keyboard/imx_keypad.c')
-rw-r--r--drivers/input/keyboard/imx_keypad.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/input/keyboard/imx_keypad.c b/drivers/input/keyboard/imx_keypad.c
index cdc252612c0b..6d150e3e1f55 100644
--- a/drivers/input/keyboard/imx_keypad.c
+++ b/drivers/input/keyboard/imx_keypad.c
@@ -362,7 +362,8 @@ static void imx_keypad_inhibit(struct imx_keypad *keypad)
362 writew(reg_val, keypad->mmio_base + KPSR); 362 writew(reg_val, keypad->mmio_base + KPSR);
363 363
364 /* Colums as open drain and disable all rows */ 364 /* Colums as open drain and disable all rows */
365 writew(0xff00, keypad->mmio_base + KPCR); 365 reg_val = (keypad->cols_en_mask & 0xff) << 8;
366 writew(reg_val, keypad->mmio_base + KPCR);
366} 367}
367 368
368static void imx_keypad_close(struct input_dev *dev) 369static void imx_keypad_close(struct input_dev *dev)
@@ -413,7 +414,7 @@ open_err:
413 return -EIO; 414 return -EIO;
414} 415}
415 416
416static int __devinit imx_keypad_probe(struct platform_device *pdev) 417static int imx_keypad_probe(struct platform_device *pdev)
417{ 418{
418 const struct matrix_keymap_data *keymap_data = pdev->dev.platform_data; 419 const struct matrix_keymap_data *keymap_data = pdev->dev.platform_data;
419 struct imx_keypad *keypad; 420 struct imx_keypad *keypad;
@@ -554,7 +555,7 @@ failed_rel_mem:
554 return error; 555 return error;
555} 556}
556 557
557static int __devexit imx_keypad_remove(struct platform_device *pdev) 558static int imx_keypad_remove(struct platform_device *pdev)
558{ 559{
559 struct imx_keypad *keypad = platform_get_drvdata(pdev); 560 struct imx_keypad *keypad = platform_get_drvdata(pdev);
560 struct resource *res; 561 struct resource *res;
@@ -632,7 +633,7 @@ static struct platform_driver imx_keypad_driver = {
632 .pm = &imx_kbd_pm_ops, 633 .pm = &imx_kbd_pm_ops,
633 }, 634 },
634 .probe = imx_keypad_probe, 635 .probe = imx_keypad_probe,
635 .remove = __devexit_p(imx_keypad_remove), 636 .remove = imx_keypad_remove,
636}; 637};
637module_platform_driver(imx_keypad_driver); 638module_platform_driver(imx_keypad_driver);
638 639