On Wed, Jul 23, 2025 at 01:32:52PM +0200, Linus Walleij wrote: > On Thu, Jul 17, 2025 at 8:33 AM Christian Bruel > <christian.bruel@xxxxxxxxxxx> wrote: > > > 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 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