Commit 92aab960 authored by Andreas Pretzsch's avatar Andreas Pretzsch Committed by Dmitry Torokhov

Input: imx_keypad - only set enabled columns to open-drain

In imx_keypad_inhibit(), all 8 columns were set to open-drain, in
contrast to the rest of the driver, where only the enabled columns
are modified/used.

Contrary to the normal expectation, this also affects column I/Os not
even mapped via IOMUX to the KPP hardware module but used as a GPIO.
Therefore only init enabled columns to open-drain and leave all others
with their default reset value of 0, i.e. totem-pole.
Signed-off-by: default avatarAndreas Pretzsch <apr@cn-eng.de>
Signed-off-by: default avatarDmitry Torokhov <dmitry.torokhov@gmail.com>
parent 52ad48a0
...@@ -362,7 +362,8 @@ static void imx_keypad_inhibit(struct imx_keypad *keypad) ...@@ -362,7 +362,8 @@ static void imx_keypad_inhibit(struct imx_keypad *keypad)
writew(reg_val, keypad->mmio_base + KPSR); writew(reg_val, keypad->mmio_base + KPSR);
/* Colums as open drain and disable all rows */ /* Colums as open drain and disable all rows */
writew(0xff00, keypad->mmio_base + KPCR); reg_val = (keypad->cols_en_mask & 0xff) << 8;
writew(reg_val, keypad->mmio_base + KPCR);
} }
static void imx_keypad_close(struct input_dev *dev) static void imx_keypad_close(struct input_dev *dev)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment