Re: [RESEND PATCH 0/2] Add pinctrl_pm_select_init_state helper function
From: Bjorn Helgaas <helgaas@kernel.org>
Date: 2025-07-23 21:07:55
Also in:
linux-gpio, linux-pci, lkml
On Wed, Jul 23, 2025 at 01:32:52PM +0200, Linus Walleij wrote:
On Thu, Jul 17, 2025 at 8:33 AM Christian Bruel [off-list ref] wrote:quoted
We have the helper functions pinctrl_pm_select_default_state and pinctrl_pm_select_sleep_state. This patch adds the missing pinctrl_pm_select_init_state function. The STM32MP2 needs to set the pinctrl to an initial state during pm_resume, just like in probe. To achieve this, the function pinctrl_pm_select_init_state is added. This allows a driver to balance pinctrl_pm_select_sleep_state() with pinctrl_pm_select_default_state() and pinctrl_pm_select_init_state() in pm_runtime_suspend and pm_runtime_resume. Christian Bruel (2): pinctrl: Add pinctrl_pm_select_init_state helper function PCI: stm32: use pinctrl_pm_select_init_state() in stm32_pcie_resume_noirq()If Bjorn Helgaas is OK with it I can apply this to the pinctrl tree. Otherwise I can also just apply patch 1/2, but that doesn't solve any problem.
The stm32 driver has been posted and is on this branch of the PCI tree: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git/log/?h=controller/dwc-stm32&id=5a972a01e24b but it's not in mainline (or even in pci/next) yet, so you would only be able to apply patch 2/2 if you took the whole driver, which is probably more than you would want to do. I haven't put it in pci/next yet because it doesn't build when CONFIG_PINCTRL is not defined: https://lore.kernel.org/r/20250716192418.GA2550861@bhelgaas (local) I don't know enough about pinctrl to know why stm32 needs this when nobody else seems to. I doubt it's really unique, so maybe it's just not doing the right thing here. Bjorn