Re: [PATCH] pinctrl: denverton: Fix probe of MFD-created platform device
From: Andy Shevchenko
Date: Thu Aug 27 2026 - 14:53:15 EST
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()?
--
With Best Regards,
Andy Shevchenko