Re: [PATCH v13] i2c: designware: defer probe if child GpioInt controllers are not bound
Hardik Prakash <[email protected]> Tue, 28 Jul 2026 11:34:32 +0530
| Newsgroups | org.kernel.vger.linux-i2c,org.kernel.vger.linux-gpio |
|---|---|
| Message-ID | <CANTFpSXmRqoYNCFkL62tRLLcMum72DGjCq5k5wYBgcKvUgqUhg@mail.gmail.com> |
Hi Wolfram, Andi, This has Reviewed-by from Andy and Acked-by from Bart. Could this be queued for the next merge window? Thanks, Hardik On Mon, 20 Jul 2026 at 13:37, Bartosz Golaszewski <[email protected]> wrote: > > On Sat, 18 Jul 2026 07:43:31 +0200, Hardik Prakash > <[email protected]> said: > > I2C controllers may have child devices with GpioInt resources that > > depend on GPIO controllers being fully initialized. If the I2C > > controller probes and enumerates children before the referenced GPIO > > controller has completed probe, GPIO interrupts may not be properly > > configured, leading to device failures. > > > > On Lenovo Yoga 7 14AGP11, the WACF2200 touchscreen (child of > > AMDI0010:02) has a GpioInt resource pointing to GPIO 157 on the > > pinctrl-amd controller (AMDI0030:00). When i2c-designware probes > > AMDI0010:02 before pinctrl-amd finishes initializing, I2C transactions > > fail with lost arbitration errors: > > > > 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 > > > > Add a dependency check that walks ACPI child devices and defers probe > > until any referenced GPIO controller is bound. > > > > Fixes: 3812a9e84265 ("pinctrl-amd: enable IRQ for WACF2200 touchscreen on Lenovo Yoga 7 14AGP11") > > Suggested-by: Mario Limonciello <[email protected]> > > Suggested-by: Andy Shevchenko <[email protected]> > > Signed-off-by: Hardik Prakash <[email protected]> > > Assisted-by: Claude:claude-sonnet-5 > > Assisted-by: DeepSeek:deepseek-v4-pro > > Link: https://bugzilla.kernel.org/show_bug.cgi?id=221494 > > --- > > Acked-by: Bartosz Golaszewski <[email protected]>