Skip to content

Commit

Permalink
Revert "drivers: input: wacom: disable touchscreen input when spen is…
Browse files Browse the repository at this point in the history
… in use"

* This may lead to all the interrupts that happened while spen was on screen
  being triggered once spen gets removed from screen
* Let's do it properly in a separate commit

This reverts commit 8d38874.

Change-Id: Ie1a30bd5fd23b276cb1c23ea81d83a3876bc7933
  • Loading branch information
Linux4 committed Oct 6, 2021
1 parent 7b45f6d commit 5af6aef
Show file tree
Hide file tree
Showing 3 changed files with 13 additions and 19 deletions.
24 changes: 13 additions & 11 deletions drivers/input/touchscreen/himax/himax_83102E/himax_platform_SPI.c
Original file line number Diff line number Diff line change
Expand Up @@ -359,18 +359,20 @@ void himax_int_enable(int enable)
unsigned long irqflags = 0;
int irqnum = ts->hx_irq;

if (enable != atomic_read(&ts->irq_state)) {
spin_lock_irqsave(&ts->irq_lock, irqflags);
I("%s: Entering! irqnum = %d\n", __func__, irqnum);
atomic_set(&ts->irq_state, enable);

enable ? enable_irq(irqnum) : disable_irq_nosync(irqnum);

private_ts->irq_enabled = enable;

I("%s, %d\n", __func__, enable);
spin_unlock_irqrestore(&ts->irq_lock, irqflags);
spin_lock_irqsave(&ts->irq_lock, irqflags);
I("%s: Entering! irqnum = %d\n", __func__, irqnum);
if (enable == 1 && atomic_read(&ts->irq_state) == 0) {
atomic_set(&ts->irq_state, 1);
enable_irq(irqnum);
private_ts->irq_enabled = 1;
} else if (enable == 0 && atomic_read(&ts->irq_state) == 1) {
atomic_set(&ts->irq_state, 0);
disable_irq_nosync(irqnum);
private_ts->irq_enabled = 0;
}

I("%s, %d\n", __func__, enable);
spin_unlock_irqrestore(&ts->irq_lock, irqflags);
}
EXPORT_SYMBOL(himax_int_enable);

Expand Down
4 changes: 0 additions & 4 deletions drivers/input/wacom/wacom.h
Original file line number Diff line number Diff line change
Expand Up @@ -397,8 +397,4 @@ extern int set_spen_mode(int mode);
#ifdef CONFIG_SEC_FACTORY
bool wacom_check_ub(struct wacom_i2c *wac_i2c);
#endif

#ifdef CONFIG_TOUCHSCREEN_HIMAX_SPI
extern void himax_int_enable(int enable);
#endif
#endif /* _LINUX_WACOM_H_ */
4 changes: 0 additions & 4 deletions drivers/input/wacom/wacom_i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -1271,10 +1271,6 @@ int wacom_i2c_coord(struct wacom_i2c *wac_i2c)
wac_i2c->localscan_mode = false;
}

#ifdef CONFIG_TOUCHSCREEN_HIMAX_SPI
himax_int_enable(!wac_i2c->pen_prox && !wac_i2c->pen_pressed);
#endif

return 0;
}

Expand Down

0 comments on commit 5af6aef

Please sign in to comment.