lkml.org 
[lkml]   [2020]   [May]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 5.4 19/49] HID: i2c-hid: reset Synaptics SYNA2393 on resume
    Date
    From: Daniel Playfair Cal <daniel.playfair.cal@gmail.com>

    [ Upstream commit 538f67407e2c0e5ed2a46e7d7ffa52f2e30c7ef8 ]

    On the Dell XPS 9570, the Synaptics SYNA2393 touchpad generates spurious
    interrupts after resuming from suspend until it receives some input or
    is reset. Add it to the quirk I2C_HID_QUIRK_RESET_ON_RESUME so that it
    is reset when resuming from suspend.

    More information about the bug can be found in this mailing list
    discussion: https://www.spinics.net/lists/linux-input/msg59530.html

    Signed-off-by: Daniel Playfair Cal <daniel.playfair.cal@gmail.com>
    Signed-off-by: Jiri Kosina <jkosina@suse.cz>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/hid/hid-ids.h | 3 +++
    drivers/hid/i2c-hid/i2c-hid-core.c | 2 ++
    2 files changed, 5 insertions(+)

    diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
    index 48eba9c4f39a4..3341133df3a8d 100644
    --- a/drivers/hid/hid-ids.h
    +++ b/drivers/hid/hid-ids.h
    @@ -1089,6 +1089,9 @@
    #define USB_DEVICE_ID_SYMBOL_SCANNER_2 0x1300
    #define USB_DEVICE_ID_SYMBOL_SCANNER_3 0x1200

    +#define I2C_VENDOR_ID_SYNAPTICS 0x06cb
    +#define I2C_PRODUCT_ID_SYNAPTICS_SYNA2393 0x7a13
    +
    #define USB_VENDOR_ID_SYNAPTICS 0x06cb
    #define USB_DEVICE_ID_SYNAPTICS_TP 0x0001
    #define USB_DEVICE_ID_SYNAPTICS_INT_TP 0x0002
    diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c
    index 479934f7d2411..b525b2715e074 100644
    --- a/drivers/hid/i2c-hid/i2c-hid-core.c
    +++ b/drivers/hid/i2c-hid/i2c-hid-core.c
    @@ -179,6 +179,8 @@ static const struct i2c_hid_quirks {
    I2C_HID_QUIRK_BOGUS_IRQ },
    { USB_VENDOR_ID_ALPS_JP, HID_ANY_ID,
    I2C_HID_QUIRK_RESET_ON_RESUME },
    + { I2C_VENDOR_ID_SYNAPTICS, I2C_PRODUCT_ID_SYNAPTICS_SYNA2393,
    + I2C_HID_QUIRK_RESET_ON_RESUME },
    { USB_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720,
    I2C_HID_QUIRK_BAD_INPUT_SIZE },
    { 0, 0 }
    --
    2.20.1
    \
     
     \ /
      Last update: 2020-05-14 20:54    [W:3.214 / U:0.020 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site