All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Hans de Goede <hdegoede@redhat.com>,
	Jiri Kosina <jkosina@suse.cz>, Sasha Levin <sashal@kernel.org>,
	linux-input@vger.kernel.org
Subject: [PATCH AUTOSEL 5.4 09/33] HID: i2c-hid: Add I2C_HID_QUIRK_NO_IRQ_AFTER_RESET for ITE8568 EC on Voyo Winpad A15
Date: Tue,  2 Mar 2021 06:57:25 -0500	[thread overview]
Message-ID: <20210302115749.62653-9-sashal@kernel.org> (raw)
In-Reply-To: <20210302115749.62653-1-sashal@kernel.org>

From: Hans de Goede <hdegoede@redhat.com>

[ Upstream commit fc6a31b00739356809dd566e16f2c4325a63285d ]

The ITE8568 EC on the Voyo Winpad A15 presents itself as an I2C-HID
attached keyboard and mouse (which seems to never send any events).

This needs the I2C_HID_QUIRK_NO_IRQ_AFTER_RESET quirk, otherwise we get
the following errors:

[ 3688.770850] i2c_hid i2c-ITE8568:00: failed to reset device.
[ 3694.915865] i2c_hid i2c-ITE8568:00: failed to reset device.
[ 3701.059717] i2c_hid i2c-ITE8568:00: failed to reset device.
[ 3707.205944] i2c_hid i2c-ITE8568:00: failed to reset device.
[ 3708.227940] i2c_hid i2c-ITE8568:00: can't add hid device: -61
[ 3708.236518] i2c_hid: probe of i2c-ITE8568:00 failed with error -61

Which leads to a significant boot delay.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/hid/hid-ids.h              | 2 ++
 drivers/hid/i2c-hid/i2c-hid-core.c | 2 ++
 2 files changed, 4 insertions(+)

diff --git a/drivers/hid/hid-ids.h b/drivers/hid/hid-ids.h
index 33183933337a..a65e9d5a9f1f 100644
--- a/drivers/hid/hid-ids.h
+++ b/drivers/hid/hid-ids.h
@@ -640,6 +640,8 @@
 #define USB_DEVICE_ID_INNEX_GENESIS_ATARI	0x4745
 
 #define USB_VENDOR_ID_ITE               0x048d
+#define I2C_VENDOR_ID_ITE		0x103c
+#define I2C_DEVICE_ID_ITE_VOYO_WINPAD_A15	0x184f
 #define USB_DEVICE_ID_ITE_LENOVO_YOGA   0x8386
 #define USB_DEVICE_ID_ITE_LENOVO_YOGA2  0x8350
 #define I2C_DEVICE_ID_ITE_LENOVO_LEGION_Y720	0x837a
diff --git a/drivers/hid/i2c-hid/i2c-hid-core.c b/drivers/hid/i2c-hid/i2c-hid-core.c
index 592176aff027..96898983db99 100644
--- a/drivers/hid/i2c-hid/i2c-hid-core.c
+++ b/drivers/hid/i2c-hid/i2c-hid-core.c
@@ -173,6 +173,8 @@ static const struct i2c_hid_quirks {
 		I2C_HID_QUIRK_SET_PWR_WAKEUP_DEV },
 	{ I2C_VENDOR_ID_HANTICK, I2C_PRODUCT_ID_HANTICK_5288,
 		I2C_HID_QUIRK_NO_IRQ_AFTER_RESET },
+	{ I2C_VENDOR_ID_ITE, I2C_DEVICE_ID_ITE_VOYO_WINPAD_A15,
+		I2C_HID_QUIRK_NO_IRQ_AFTER_RESET },
 	{ I2C_VENDOR_ID_RAYDIUM, I2C_PRODUCT_ID_RAYDIUM_3118,
 		I2C_HID_QUIRK_NO_IRQ_AFTER_RESET },
 	{ USB_VENDOR_ID_ELAN, HID_ANY_ID,
-- 
2.30.1


  parent reply	other threads:[~2021-03-02 16:24 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-03-02 11:57 [PATCH AUTOSEL 5.4 01/33] i2c: rcar: faster irq code to minimize HW race condition Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 02/33] i2c: rcar: optimize cacheline " Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 03/33] udf: fix silent AED tagLocation corruption Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 04/33] mmc: mxs-mmc: Fix a resource leak in an error handling path in 'mxs_mmc_probe()' Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 05/33] mmc: sdhci-of-dwcmshc: set SDHCI_QUIRK2_PRESET_VALUE_BROKEN Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 06/33] mmc: mediatek: fix race condition between msdc_request_timeout and irq Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 07/33] Platform: OLPC: Fix probe error handling Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 08/33] powerpc/pci: Add ppc_md.discover_phbs() Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` Sasha Levin [this message]
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 10/33] spi: stm32: make spurious and overrun interrupts visible Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 11/33] powerpc: improve handling of unrecoverable system reset Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 12/33] powerpc/perf: Record counter overflow always if SAMPLE_IP is unset Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 13/33] HID: logitech-dj: add support for the new lightspeed connection iteration Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 14/33] powerpc/64: Fix stack trace not displaying final frame Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 15/33] iommu/amd: Fix performance counter initialization Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 16/33] sparc32: Limit memblock allocation to low memory Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 17/33] sparc64: Use arch_validate_flags() to validate ADI flag Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 18/33] ACPICA: Fix race in generic_serial_bus (I2C) and GPIO op_region parameter handling Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 19/33] Input: applespi - don't wait for responses to commands indefinitely Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 20/33] x86, build: use objtool mcount Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 21/33] PCI: xgene-msi: Fix race in installing chained irq handler Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 22/33] misc: eeprom_93xx46: Add quirk to support Microchip 93LC46B eeprom Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 23/33] PCI: mediatek: Add missing of_node_put() to fix reference leak Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 24/33] drm/msm/a5xx: Remove overwriting A5XX_PC_DBG_ECO_CNTL register Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 25/33] kbuild: clamp SUBLEVEL to 255 Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 26/33] PCI: Fix pci_register_io_range() memory leak Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 27/33] i40e: Fix memory leak in i40e_probe Sasha Levin
2021-03-02 11:57   ` [Intel-wired-lan] " Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 28/33] s390/smp: __smp_rescan_cpus() - move cpumask away from stack Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 29/33] sysctl.c: fix underflow value setting risk in vm_table Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 30/33] scsi: libiscsi: Fix iscsi_prep_scsi_cmd_pdu() error handling Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 31/33] nbd: handle device refs for DESTROY_ON_DISCONNECT properly Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 32/33] scsi: target: core: Add cmd length set before cmd complete Sasha Levin
2021-03-02 11:57   ` Sasha Levin
2021-03-02 11:57 ` [PATCH AUTOSEL 5.4 33/33] scsi: target: core: Prevent underflow for service actions Sasha Levin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210302115749.62653-9-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=hdegoede@redhat.com \
    --cc=jkosina@suse.cz \
    --cc=linux-input@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.