1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/pci/controller/dwc
Mark Brown fc8b24c28b PCI: dwc: Provide deinit callback for i.MX
The i.MX integration for the DesignWare PCI controller has a _host_exit()
operation which undoes everything that the _host_init() operation does but
does not wire this up as the host_deinit callback for the core, or call it
in any path other than suspend. This means that if we ever unwind the
initial probe of the device, for example because it fails, the regulator
core complains that the regulators for the device were left enabled:

imx6q-pcie 33800000.pcie: iATU: unroll T, 4 ob, 4 ib, align 64K, limit 16G
imx6q-pcie 33800000.pcie: Phy link never came up
imx6q-pcie 33800000.pcie: Phy link never came up
imx6q-pcie: probe of 33800000.pcie failed with error -110
------------[ cut here ]------------
WARNING: CPU: 2 PID: 46 at drivers/regulator/core.c:2396 _regulator_put+0x110/0x128

Wire up the callback so that the core can clean up after itself.

Link: https://lore.kernel.org/r/20230731-pci-imx-regulator-cleanup-v2-1-fc8fa5c9893d@kernel.org
Tested-by: Fabio Estevam <festevam@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
Reviewed-by: Richard Zhu <hongxing.zhu@nxp.com>
Acked-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
2023-08-08 13:20:48 +02:00
..
Kconfig PCI: dwc: Sort Kconfig entries by vendor 2023-04-20 16:18:05 -05:00
Makefile PCI: dwc: Add Baikal-T1 PCIe controller support 2022-11-23 16:01:55 +01:00
pci-dra7xx.c PCI: dra7xx: Use threaded IRQ handler for "dra7xx-pcie-main" IRQ 2023-02-14 07:26:45 +09:00
pci-exynos.c Merge branch 'pci/ctrl/pm-ops' 2022-08-04 11:46:52 -05:00
pci-imx6.c PCI: dwc: Provide deinit callback for i.MX 2023-08-08 13:20:48 +02:00
pci-keystone.c Merge branch 'pci/misc' 2022-08-04 11:46:53 -05:00
pci-layerscape-ep.c PCI: layerscape: Add the endpoint linkup notifier support 2023-06-23 15:06:18 -05:00
pci-layerscape.c PCI: Remove unnecessary <linux/of_irq.h> includes 2022-11-10 14:53:51 -06:00
pci-meson.c PCI: dwc: Rename struct pcie_port to dw_pcie_rp 2022-07-05 19:00:52 -05:00
pcie-al.c PCI: dwc: Rename struct pcie_port to dw_pcie_rp 2022-07-05 19:00:52 -05:00
pcie-armada8k.c PCI: Remove unnecessary <linux/of_irq.h> includes 2022-11-10 14:53:51 -06:00
pcie-artpec6.c PCI: dwc: Rename struct pcie_port to dw_pcie_rp 2022-07-05 19:00:52 -05:00
pcie-bt1.c PCI: dwc: Convert to platform remove callback returning void 2023-06-24 14:11:56 +00:00
pcie-designware-ep.c PCI: dwc: Add Root Port and Endpoint controller eDMA engine support 2023-02-22 13:46:14 -06:00
pcie-designware-host.c PCI: dwc: Wait for link up only if link is started 2023-05-26 10:45:12 +02:00
pcie-designware-plat.c PCI: dwc-plat: Drop dw_plat_pcie_of_match[] forward declaration 2022-07-05 19:00:52 -05:00
pcie-designware.c dmaengine updates for v6.5 2023-07-06 09:48:31 -07:00
pcie-designware.h PCI: dwc: Wait for link up only if link is started 2023-05-26 10:45:12 +02:00
pcie-dw-rockchip.c PCI: dwc: Rename struct pcie_port to dw_pcie_rp 2022-07-05 19:00:52 -05:00
pcie-fu740.c Merge branch 'pci/ctrl/fu740' 2022-08-04 11:41:55 -05:00
pcie-hisi.c PCI: hisi: Avoid invalid address space conversions 2022-01-03 15:05:28 -06:00
pcie-histb.c PCI: dwc: Convert to platform remove callback returning void 2023-06-24 14:11:56 +00:00
pcie-intel-gw.c PCI: dwc: Convert to platform remove callback returning void 2023-06-24 14:11:56 +00:00
pcie-keembay.c PCI: dwc: Convert struct pcie_port.msi_irq to an array 2022-08-01 15:15:33 -05:00
pcie-kirin.c PCI: dwc: Replace of_gpio_named_count() by gpiod_count() 2022-10-03 10:34:46 +02:00
pcie-qcom-ep.c Merge branch 'pci/controller/remove-void-callbacks' 2023-06-26 13:00:00 -05:00
pcie-qcom.c PCI: qcom: Do not advertise hotplug capability for IP v2.1.0 2023-06-20 12:12:44 +02:00
pcie-spear13xx.c Merge branch 'pci/misc' 2022-08-04 11:46:53 -05:00
pcie-tegra194-acpi.c PCI: dwc: Simplify in/outbound iATU setup methods 2022-08-01 15:15:09 -05:00
pcie-tegra194.c pci-v6.5-changes 2023-06-30 15:06:45 -07:00
pcie-uniphier-ep.c PCI: uniphier-ep: Add NX1 support 2022-02-11 16:26:21 +00:00
pcie-uniphier.c PCI: dwc: Rename struct pcie_port to dw_pcie_rp 2022-07-05 19:00:52 -05:00
pcie-visconti.c PCI: dwc: Rename struct pcie_port to dw_pcie_rp 2022-07-05 19:00:52 -05:00