Commit 4fecc208 authored by Michael Hennerich's avatar Michael Hennerich Committed by Dmitry Torokhov

Input: ad7879 - fix deficient device disable

Input close or device disable should not interact with the exported
gpiolib functionality. However that's the case. __ad7879_disable()
clears the entire AD7879_REG_CTRL2, while it should just power down
the ADC and its reference.
Signed-off-by: default avatarMichael Hennerich <michael.hennerich@analog.com>
Signed-off-by: default avatarDmitry Torokhov <dtor@mail.ru>
parent 0a7a8fff
...@@ -249,12 +249,14 @@ static void __ad7879_enable(struct ad7879 *ts) ...@@ -249,12 +249,14 @@ static void __ad7879_enable(struct ad7879 *ts)
static void __ad7879_disable(struct ad7879 *ts) static void __ad7879_disable(struct ad7879 *ts)
{ {
u16 reg = (ts->cmd_crtl2 & ~AD7879_PM(-1)) |
AD7879_PM(AD7879_PM_SHUTDOWN);
disable_irq(ts->irq); disable_irq(ts->irq);
if (del_timer_sync(&ts->timer)) if (del_timer_sync(&ts->timer))
ad7879_ts_event_release(ts); ad7879_ts_event_release(ts);
ad7879_write(ts, AD7879_REG_CTRL2, AD7879_PM(AD7879_PM_SHUTDOWN)); ad7879_write(ts, AD7879_REG_CTRL2, reg);
} }
......
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