Re: [PATCH v2 2/5] PCI: stm32: Add PCIe host support for STM32MP25

kernel test robot
2024-12-09T04:35:27Z

Hi Christian,

kernel test robot noticed the following build errors:

[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus linus/master v6.13-rc1 next-20241206]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url: https://github.com/intel-lab-lkp/linux/commits/Christian-Bruel/dt-bindings-PCI-Add-STM32MP25-PCIe-root-complex-bindings/20241128-101958
base: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link: https://lore.kernel.org/r/20241126155119.1574564-3-christian.bruel%40foss.st.com
patch subject: [PATCH v2 2/5] PCI: stm32: Add PCIe host support for STM32MP25
config: openrisc-randconfig-r072-20241208 (https://download.01.org/0day-ci/archive/20241208/202412080849.1SXhxzpi-lkp@intel.com/config)
compiler: or1k-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241208/202412080849.1SXhxzpi-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202412080849.1SXhxzpi-lkp@intel.com/

All errors (new ones prefixed by >>):

drivers/pci/controller/dwc/pcie-stm32.c: In function 'stm32_pcie_suspend_noirq':
>> drivers/pci/controller/dwc/pcie-stm32.c:101:16: error: implicit declaration of function 'pinctrl_pm_select_sleep_state' [-Wimplicit-function-declaration]
101 | return pinctrl_pm_select_sleep_state(dev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/dwc/pcie-stm32.c: In function 'stm32_pcie_resume_noirq':
>> drivers/pci/controller/dwc/pcie-stm32.c:114:24: error: 'struct device' has no member named 'pins'
114 | if (!IS_ERR(dev->pins->init_state))
| ^~
>> drivers/pci/controller/dwc/pcie-stm32.c:115:23: error: implicit declaration of function 'pinctrl_select_state' [-Wimplicit-function-declaration]
115 | ret = pinctrl_select_state(dev->pins->p, dev->pins->init_state);
| ^~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/dwc/pcie-stm32.c:115:47: error: 'struct device' has no member named 'pins'
115 | ret = pinctrl_select_state(dev->pins->p, dev->pins->init_state);
| ^~
drivers/pci/controller/dwc/pcie-stm32.c:115:61: error: 'struct device' has no member named 'pins'
115 | ret = pinctrl_select_state(dev->pins->p, dev->pins->init_state);
| ^~
>> drivers/pci/controller/dwc/pcie-stm32.c:117:23: error: implicit declaration of function 'pinctrl_pm_select_default_state' [-Wimplicit-function-declaration]
117 | ret = pinctrl_pm_select_default_state(dev);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
drivers/pci/controller/dwc/pcie-stm32.c: In function 'stm32_pcie_probe':
drivers/pci/controller/dwc/pcie-stm32.c:243:29: warning: unused variable 'np' [-Wunused-variable]
243 | struct device_node *np = pdev->dev.of_node;
| ^~

vim +/pinctrl_pm_select_sleep_state +101 drivers/pci/controller/dwc/pcie-stm32.c

88
89 static int stm32_pcie_suspend_noirq(struct device *dev)
90 {
91 struct stm32_pcie *stm32_pcie = dev_get_drvdata(dev);
92
93 stm32_pcie->link_is_up = dw_pcie_link_up(stm32_pcie->pci);
94
95 stm32_pcie_stop_link(stm32_pcie->pci);
96 clk_disable_unprepare(stm32_pcie->clk);
97
98 if (!device_may_wakeup(dev) && !device_wakeup_path(dev))
99 phy_exit(stm32_pcie->phy);
100
> 101 return pinctrl_pm_select_sleep_state(dev);
102 }
103
104 static int stm32_pcie_resume_noirq(struct device *dev)
105 {
106 struct stm32_pcie *stm32_pcie = dev_get_drvdata(dev);
107 struct dw_pcie *pci = stm32_pcie->pci;
108 struct dw_pcie_rp *pp = &pci->pp;
109 int ret;
110
111 /* init_state must be called first to force clk_req# gpio when no
112 * device is plugged.
113 */
> 114 if (!IS_ERR(dev->pins->init_state))
> 115 ret = pinctrl_select_state(dev->pins->p, dev->pins->init_state);
116 else
> 117 ret = pinctrl_pm_select_default_state(dev);
118
119 if (ret) {
120 dev_err(dev, "Failed to activate pinctrl pm state: %d\n", ret);
121 return ret;
122 }
123
124 if (!device_may_wakeup(dev) && !device_wakeup_path(dev)) {
125 ret = phy_init(stm32_pcie->phy);
126 if (ret) {
127 pinctrl_pm_select_default_state(dev);
128 return ret;
129 }
130 }
131
132 ret = clk_prepare_enable(stm32_pcie->clk);
133 if (ret)
134 goto clk_err;
135
136 ret = dw_pcie_setup_rc(pp);
137 if (ret)
138 goto pcie_err;
139
140 if (stm32_pcie->link_is_up) {
141 ret = stm32_pcie_start_link(stm32_pcie->pci);
142 if (ret)
143 goto pcie_err;
144
145 /* Ignore errors, the link may come up later */
146 dw_pcie_wait_for_link(stm32_pcie->pci);
147 }
148
149 pinctrl_pm_select_default_state(dev);
150
151 return 0;
152
153 pcie_err:
154 dw_pcie_host_deinit(pp);
155 clk_disable_unprepare(stm32_pcie->clk);
156 clk_err:
157 phy_exit(stm32_pcie->phy);
158 pinctrl_pm_select_default_state(dev);
159
160 return ret;
161 }
162

--
0-DAY CI Kernel Test Service