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 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.