public inbox for linux-kernel@vger.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>,
	Dmitry Torokhov <dmitry.torokhov@gmail.com>,
	Sasha Levin <sashal@kernel.org>,
	hadess@hadess.net, linux-input@vger.kernel.org
Subject: [PATCH AUTOSEL 6.1 04/29] Input: goodix - accept ACPI resources with gpio_count == 3 && gpio_int_idx == 0
Date: Wed,  7 Feb 2024 16:24:29 -0500	[thread overview]
Message-ID: <20240207212505.3169-4-sashal@kernel.org> (raw)
In-Reply-To: <20240207212505.3169-1-sashal@kernel.org>

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

[ Upstream commit 180a8f12c21f41740fee09ca7f7aa98ff5bb99f8 ]

Some devices list 3 Gpio resources in the ACPI resource list for
the touchscreen:

1. GpioInt resource pointing to the GPIO used for the interrupt
2. GpioIo resource pointing to the reset GPIO
3. GpioIo resource pointing to the GPIO used for the interrupt

Note how the third extra GpioIo resource really is a duplicate
of the GpioInt provided info.

Ignore this extra GPIO, treating this setup the same as gpio_count == 2 &&
gpio_int_idx == 0 fixes the touchscreen not working on the Thunderbook
Colossus W803 rugged tablet and likely also on the CyberBook_T116K.

Reported-by: Maarten van der Schrieck
Closes: https://gitlab.com/AdyaAdya/goodix-touchscreen-linux-driver/-/issues/22
Suggested-by: Maarten van der Schrieck
Tested-by: Maarten van der Schrieck
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Link: https://lore.kernel.org/r/20231223141650.10679-1-hdegoede@redhat.com
Signed-off-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 drivers/input/touchscreen/goodix.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/input/touchscreen/goodix.c b/drivers/input/touchscreen/goodix.c
index 3f0732db7bf5..6de64b3f900f 100644
--- a/drivers/input/touchscreen/goodix.c
+++ b/drivers/input/touchscreen/goodix.c
@@ -884,7 +884,8 @@ static int goodix_add_acpi_gpio_mappings(struct goodix_ts_data *ts)
 		}
 	}
 
-	if (ts->gpio_count == 2 && ts->gpio_int_idx == 0) {
+	/* Some devices with gpio_int_idx 0 list a third unused GPIO */
+	if ((ts->gpio_count == 2 || ts->gpio_count == 3) && ts->gpio_int_idx == 0) {
 		ts->irq_pin_access_method = IRQ_PIN_ACCESS_ACPI_GPIO;
 		gpio_mapping = acpi_goodix_int_first_gpios;
 	} else if (ts->gpio_count == 2 && ts->gpio_int_idx == 1) {
-- 
2.43.0


  parent reply	other threads:[~2024-02-07 21:25 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-07 21:24 [PATCH AUTOSEL 6.1 01/29] ext4: avoid dividing by 0 in mb_update_avg_fragment_size() when block bitmap corrupt Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 02/29] ext4: avoid allocating blocks from corrupted group in ext4_mb_try_best_found() Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 03/29] ext4: avoid allocating blocks from corrupted group in ext4_mb_find_by_goal() Sasha Levin
2024-02-07 21:24 ` Sasha Levin [this message]
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 05/29] dmaengine: ti: edma: Add some null pointer checks to the edma_probe Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 06/29] ASoC: codecs: wcd934x: drop unneeded regulator include Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 07/29] regulator: pwm-regulator: Add validity checks in continuous .get_voltage Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 08/29] nvmet-tcp: fix nvme tcp ida memory leak Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 09/29] usb: ucsi_acpi: Quirk to ack a connector change ack cmd Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 10/29] ALSA: usb-audio: Check presence of valid altsetting control Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 11/29] ASoC: sunxi: sun4i-spdif: Add support for Allwinner H616 Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 12/29] spi: sh-msiof: avoid integer overflow in constants Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 13/29] Input: xpad - add Lenovo Legion Go controllers Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 14/29] misc: open-dice: Fix spurious lockdep warning Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 15/29] netfilter: conntrack: check SCTP_CID_SHUTDOWN_ACK for vtag setting in sctp_new Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 16/29] drm/amd/display: increased min_dcfclk_mhz and min_fclk_mhz Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 17/29] ASoC: wm_adsp: Don't overwrite fwf_name with the default Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 18/29] ALSA: usb-audio: Ignore clock selector errors for single connection Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 19/29] nvme-fc: do not wait in vain when unloading module Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 20/29] nvmet-fcloop: swap the list_add_tail arguments Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 21/29] nvmet-fc: release reference on target port Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 22/29] nvmet-fc: defer cleanup using RCU properly Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 23/29] nvmet-fc: hold reference on hostport match Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 24/29] nvmet-fc: abort command when there is no binding Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 25/29] nvmet-fc: avoid deadlock on delete association path Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 26/29] nvmet-fc: take ref count on tgtport before delete assoc Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 27/29] smb: client: increase number of PDUs allowed in a compound request Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 28/29] ext4: correct the hole length returned by ext4_map_blocks() Sasha Levin
2024-02-07 21:24 ` [PATCH AUTOSEL 6.1 29/29] Input: i8042 - add Fujitsu Lifebook U728 to i8042 quirk table 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=20240207212505.3169-4-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=dmitry.torokhov@gmail.com \
    --cc=hadess@hadess.net \
    --cc=hdegoede@redhat.com \
    --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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox