Re: [PATCH] pinctrl: denverton: Fix probe of MFD-created platform device
Andy Shevchenko <[email protected]>
| Newsgroups | org.kernel.vger.linux-gpio,org.kernel.vger.linux-kernel |
|---|---|
| Organization | Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs, Bertel Jungin Aukio 5, 02600 Espoo |
| Message-ID | <[email protected]> |
On Thu, Aug 27, 2026 at 09:52:40PM +0300, Andy Shevchenko wrote: > On Thu, Aug 27, 2026 at 08:42:58PM +0200, Radek Válko wrote: > > The Denverton pinctrl device can be instantiated by the Intel LPC > > driver as an MFD platform device named "denverton-pinctrl". > > > > On affected systems the platform device does not carry the INTC3000 > > ACPI match data itself. As a result, intel_pinctrl_probe_by_hid() > > fails to obtain the SoC data using device_get_match_data() and > > returns -ENODATA. > > > > This results in: > > > > denverton-pinctrl denverton-pinctrl.0: > > probe with driver denverton-pinctrl failed with error -61 > > > > Denverton has a single fixed intel_pinctrl_soc_data instance. Pass > > dnv_soc_data directly to intel_pinctrl_probe() instead of requiring > > firmware match data for the MFD-created platform device. > > > > Tested on an Intel Atom C3000 system with LPC/eSPI device 8086:19dc. > > Before this change the Denverton pinctrl driver failed to probe and > > no Denverton GPIO controller was registered. After the change, > > denverton-pinctrl.0 registers with pinmux and pinconf support and > > exposes 154 GPIO lines. > > Thanks for the report. > > Can you instead try to replace device_get_match_data() in > intel_pinctrl_probe_by_hid() by intel_pinctrl_get_soc_data() in the way how > it's done in intel_pinctrl_probe_by_uid()? Ah, it won't work as direct replacement. So, the intel_pinctrl_probe_by_hid() should be modified accordingly. I will send a formal patch tomorrow. -- With Best Regards, Andy Shevchenko