Linux GPIO subsystem development
 help / color / mirror / Atom feed
* [PATCH v8 0/2] i2c: designware: fix WACF2200 touchscreen probe ordering
@ 2026-05-29 10:08 Hardik Prakash
  2026-05-29 10:08 ` [PATCH v8 1/2] Revert "pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo Yoga 7 14AGP11" Hardik Prakash
                   ` (3 more replies)
  0 siblings, 4 replies; 15+ messages in thread
From: Hardik Prakash @ 2026-05-29 10:08 UTC (permalink / raw)
  To: linux-i2c
  Cc: linux-gpio, wsa, andriy.shevchenko, mario.limonciello, brgl,
	basavaraj.natikar, linusw, Hardik Prakash

This series fixes the non-functional WACF2200 touchscreen on Lenovo
Yoga 7 14AGP11 by:

1. Reverting the earlier DMI-specific GPIO IRQ quirk (patch 1 of the
   original series, already in Torvalds' tree) which is no longer
   needed.

2. Adding a generic probe deferral in i2c-designware that walks ACPI
   child devices, finds GpioInt resources, and defers probe until the
   referenced GPIO controllers are fully bound.

Testing confirms patch 2 alone is sufficient — the existing
amd_gpio_irq_enable() flow works correctly once probe ordering is
fixed, making the manual IRQ restoration in the reverted patch
unnecessary.

The probe ordering race was confirmed via dynamic debug tracing:

  0.285952  amd_gpio_probe: registering gpiochip  <- GPIO chip visible
  0.287121  amd_gpio_probe: requesting parent IRQ <- probe still running
  0.301454  AMDI0010:02 dw_i2c_plat_probe: start  <- races here
  2.348157  lost arbitration

Tested on Lenovo Yoga 7 14AGP11 (83TD), Fedora 44, kernel 7.1.0-rc5+.

v8:
 - Add revert of now-unnecessary patch 1 (Mario Limonciello)
 - Collect Acked-by (Bartosz Golaszewski) and Reviewed-by (Mario Limonciello)

v7:
 - Fix unused 'ret' variable in check_child_gpioint() (kernel test robot)
 - Replace BugLink: with Link: (Bartosz Golaszewski)
 - Add Reported-by and Closes tags for kernel test robot warning

v6:
 - Replace DMI-specific deferral with generic GpioInt dependency check
   walking ACPI child devices (suggested by Mario Limonciello)

v5:
 - Add blank line before #include <linux/acpi.h> (Bartosz Golaszewski)
 - Use scoped_guard(device, gpio_dev) (Bartosz Golaszewski)

v4:
 - Rebase onto Linus Walleij's tree
 - Use --base so series is correctly 1/1 (Andy Shevchenko)

v3:
 - Fix variable declaration style (Andy Shevchenko)
 - Add BugLink tag (Andy Shevchenko)
 - CC AMD engineers (Andy Shevchenko)

v2:
 - Replace custom HID/UID lookup with acpi_dev_get_first_match_dev()
 - Use device_is_bound() under device_lock() with explanatory comments
 - Add Assisted-by tags per coding-assistants.rst

Kernel bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=221494
Related: https://bugzilla.kernel.org/show_bug.cgi?id=221454

Hardik Prakash (2):
  Revert "pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo
    Yoga 7 14AGP11"
  i2c: designware: defer probe if child GpioInt controllers are not
    bound

 drivers/i2c/busses/i2c-designware-platdrv.c | 156 ++++++++++++++++++++
 drivers/pinctrl/pinctrl-amd.c               |  35 -----
 2 files changed, 156 insertions(+), 35 deletions(-)

base-commit: 8fde5d1d47f6

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2026-05-29 22:46 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-05-29 10:08 [PATCH v8 0/2] i2c: designware: fix WACF2200 touchscreen probe ordering Hardik Prakash
2026-05-29 10:08 ` [PATCH v8 1/2] Revert "pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo Yoga 7 14AGP11" Hardik Prakash
2026-05-29 10:12   ` Mario Limonciello
2026-05-29 20:34   ` Linus Walleij
2026-05-29 10:08 ` [PATCH v8 2/2] i2c: designware: defer probe if child GpioInt controllers are not bound Hardik Prakash
2026-05-29 10:12   ` Mario Limonciello
2026-05-29 14:42     ` Wolfram Sang
2026-05-29 14:43       ` Mario Limonciello
2026-05-29 14:43   ` Wolfram Sang
2026-05-29 20:46     ` Linus Walleij
2026-05-29 20:55       ` Wolfram Sang
2026-05-29 21:59         ` Linus Walleij
2026-05-29 22:46           ` Wolfram Sang
2026-05-29 10:13 ` [PATCH v8 0/2] i2c: designware: fix WACF2200 touchscreen probe ordering Mario Limonciello
2026-05-29 14:42 ` Wolfram Sang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox