From: sashiko-bot@kernel.org
To: "Waqar Gulzar" <iamwaqargulzar@gmail.com>
Cc: dmitry.torokhov@gmail.com, linux-input@vger.kernel.org
Subject: Re: [PATCH] HID: i2c-hid-acpi: restore touchscreen IRQ routing on HP OmniBook X Flip 16
Date: Wed, 30 Sep 2026 06:35:00 +0000 [thread overview]
Message-ID: <20260930063500.7D2B31F00899@smtp.kernel.org> (raw)
In-Reply-To: <20260930-b4-elan2514-irq-route-v1-1-44671bf01d05@gmail.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [Medium] hid: i2c-hid-acpi: IRQ routing quirk bypassed on resume if wakeup enabled
--
commit c1ea0adbfc4956d2ccd0cfccdc56448c010e7ac2
Author: Waqar Gulzar <iamwaqargulzar@gmail.com>
HID: i2c-hid-acpi: restore touchscreen IRQ routing on HP OmniBook X Flip 16
The HP OmniBook X Flip 16 firmware disconnects the ELAN2514 touchscreen
interrupt from the IO-APIC in its power resource _ON method, which Linux
runs at probe and resume. This patch re-enables the routing through the
firmware's own helper from i2c-hid-acpi's power_up hook.
Link: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/2142384
Link: https://github.com/testyfishy/hp-omnibook-flip16-touchscreen-fix
Link: https://github.com/iamwaqargulzar/hp-omnibook-x-flip-16-linux-touchscreen-pen-fix
> diff --git a/drivers/hid/i2c-hid/i2c-hid-acpi.c b/drivers/hid/i2c-hid/i2c-hid-acpi.c
> index 9371db200fc4d..b6348ee3d422b 100644
> --- a/drivers/hid/i2c-hid/i2c-hid-acpi.c
> +++ b/drivers/hid/i2c-hid/i2c-hid-acpi.c
[ ... ]
> @@ -85,6 +140,9 @@ static int i2c_hid_acpi_probe(struct i2c_client *client)
> ihid_acpi->adev = adev;
> ihid_acpi->ops.shutdown_tail = i2c_hid_acpi_shutdown_tail;
> ihid_acpi->ops.restore_sequence = i2c_hid_acpi_restore_sequence;
> + if (acpi_dev_hid_uid_match(ihid_acpi->adev, "ELAN2514", NULL) &&
> + dmi_check_system(i2c_hid_acpi_irq_route_dmi))
> + ihid_acpi->ops.power_up = i2c_hid_acpi_restore_irq_route;
[Severity: Medium]
Will this quirk be reliably applied on resume if the device has wakeup enabled?
The quirk is hooked up to the power_up callback. However, in
i2c_hid_core_resume() the core driver conditionally skips the power_up
callback if wakeup is enabled:
drivers/hid/i2c-hid/i2c-hid-core.c:i2c_hid_core_resume() {
...
if (!device_may_wakeup(&client->dev))
i2c_hid_core_power_up(ihid);
...
}
If the user or system enables wakeup for the touchscreen,
i2c_hid_core_resume() skips i2c_hid_core_power_up(). If the device's ACPI
power resource was turned off during sleep, _ON will execute on resume and
break the IRQ routing again, but the power_up quirk will not run to fix it.
Does the quirk need to run unconditionally on resume instead of being tied
to the core's power management logic?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20260930-b4-elan2514-irq-route-v1-1-44671bf01d05@gmail.com?part=1
next prev parent reply other threads:[~2026-09-30 6:35 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-30 6:22 [PATCH] HID: i2c-hid-acpi: restore touchscreen IRQ routing on HP OmniBook X Flip 16 Waqar Gulzar via B4 Relay
2026-09-30 6:22 ` Waqar Gulzar
2026-09-30 6:35 ` sashiko-bot [this message]
2026-09-30 7:20 ` Waqar Gulzar
[not found] <20260930-b4-elan2514-irq-route-v1-1-a7ab598efbc5@gmail.com>
2026-10-05 7:49 ` Waqar Gulzar
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=20260930063500.7D2B31F00899@smtp.kernel.org \
--to=sashiko-bot@kernel.org \
--cc=dmitry.torokhov@gmail.com \
--cc=iamwaqargulzar@gmail.com \
--cc=linux-input@vger.kernel.org \
--cc=sashiko-reviews@lists.linux.dev \
/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.