forked from Minki/linux
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: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
This commit is contained in:
parent
0a7a8fff7b
commit
4fecc2088f
@ -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);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user