diff options
author | Mark Brown <broonie@kernel.org> | 2022-11-26 00:26:21 +0300 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2022-11-26 00:26:21 +0300 |
commit | 79dfd9d5e8b5cab454ab8fafdfaed0c82b2e2f4b (patch) | |
tree | 5f74933ed61c9319437932db31a50c116dee043d /drivers/hid/wacom_wac.c | |
parent | d067b3378a78c9c3048ac535e31c171b6f5b5846 (diff) | |
parent | cd887a7ba74c8378ae8b52afa04adb0d49cdf13d (diff) | |
download | linux-79dfd9d5e8b5cab454ab8fafdfaed0c82b2e2f4b.tar.xz |
ASoC: adau1372: fixes after debugging custom board
Merge series from Maarten Zanders <maarten.zanders@mind.be>:
A collection of fixes and improvements for the adau1372 driver.
Diffstat (limited to 'drivers/hid/wacom_wac.c')
-rw-r--r-- | drivers/hid/wacom_wac.c | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/hid/wacom_wac.c b/drivers/hid/wacom_wac.c index 77486962a773..0f3d57b42684 100644 --- a/drivers/hid/wacom_wac.c +++ b/drivers/hid/wacom_wac.c @@ -2520,11 +2520,12 @@ static void wacom_wac_pen_report(struct hid_device *hdev, if (!delay_pen_events(wacom_wac) && wacom_wac->tool[0]) { int id = wacom_wac->id[0]; - if (wacom_wac->features.quirks & WACOM_QUIRK_PEN_BUTTON3 && - wacom_wac->hid_data.barrelswitch & wacom_wac->hid_data.barrelswitch2) { - wacom_wac->hid_data.barrelswitch = 0; - wacom_wac->hid_data.barrelswitch2 = 0; - wacom_wac->hid_data.barrelswitch3 = 1; + if (wacom_wac->features.quirks & WACOM_QUIRK_PEN_BUTTON3) { + int sw_state = wacom_wac->hid_data.barrelswitch | + (wacom_wac->hid_data.barrelswitch2 << 1); + wacom_wac->hid_data.barrelswitch = sw_state == 1; + wacom_wac->hid_data.barrelswitch2 = sw_state == 2; + wacom_wac->hid_data.barrelswitch3 = sw_state == 3; } input_report_key(input, BTN_STYLUS, wacom_wac->hid_data.barrelswitch); input_report_key(input, BTN_STYLUS2, wacom_wac->hid_data.barrelswitch2); |