在 2025/04/11 星期五 10:02, Damien Le Moal 写道:
On 4/10/25 15:50, Shawn Lin wrote:
+static int rockchip_pcie_suspend(struct device *dev)
+{
+ struct rockchip_pcie *rockchip = dev_get_drvdata(dev);
+ struct dw_pcie *pci = &rockchip->pci;
+ int ret;
+
+ rockchip->intx = rockchip_pcie_readl_apb(rockchip, PCIE_CLIENT_INTR_MASK_LEGACY);
+
+ ret = dw_pcie_suspend_noirq(pci);
+ if (ret) {
+ dev_err(dev, "failed to suspend\n");
+ return ret;
+ }
+
+ rockchip_pcie_phy_deinit(rockchip);
+ clk_bulk_disable_unprepare(rockchip->clk_cnt, rockchip->clks);
+ reset_control_assert(rockchip->rst);
+ if (rockchip->vpcie3v3)
+ regulator_disable(rockchip->vpcie3v3);
+ gpiod_set_value_cansleep(rockchip->rst_gpio, 0);
+
+ return 0;
+}
This function needs a __maybe_unused in its declaration, otherwise, you get a
compilation warning when PM is not enabled.
static int __maybe_unused rockchip_pcie_suspend(struct device *dev)
Emm.. I don't see any host drivers with system PM support under
drivers/pci/controller/ adds these :)
#grep suspend drivers/pci/controller/ -rn | grep __maybe_unused | wc -l
0
Anyway, will fix it.
+static int rockchip_pcie_resume(struct device *dev)
Same here too.