diff options
Diffstat (limited to 'drivers/input/keyboard/imx_keypad.c')
-rw-r--r-- | drivers/input/keyboard/imx_keypad.c | 9 |
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 | ||
368 | static void imx_keypad_close(struct input_dev *dev) | 369 | static void imx_keypad_close(struct input_dev *dev) |
@@ -413,7 +414,7 @@ open_err: | |||
413 | return -EIO; | 414 | return -EIO; |
414 | } | 415 | } |
415 | 416 | ||
416 | static int __devinit imx_keypad_probe(struct platform_device *pdev) | 417 | static 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 | ||
557 | static int __devexit imx_keypad_remove(struct platform_device *pdev) | 558 | static 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 | }; |
637 | module_platform_driver(imx_keypad_driver); | 638 | module_platform_driver(imx_keypad_driver); |
638 | 639 | ||