mirror_ubuntu-kernels/drivers/pci/controller/dwc
Uwe Kleine-König 3064ef2e88 PCI: kirin: Don't discard .remove() callback
With CONFIG_PCIE_KIRIN=y and kirin_pcie_remove() marked with __exit, the
function is discarded from the driver. In this case a bound device can
still get unbound, e.g via sysfs. Then no cleanup code is run resulting in
resource leaks or worse.

The right thing to do is do always have the remove callback available.
This fixes the following warning by modpost:

  drivers/pci/controller/dwc/pcie-kirin: section mismatch in reference: kirin_pcie_driver+0x8 (section: .data) -> kirin_pcie_remove (section: .exit.text)

(with ARCH=x86_64 W=1 allmodconfig).

Fixes: 000f60db78 ("PCI: kirin: Add support for a PHY layer")
Link: https://lore.kernel.org/r/20231001170254.2506508-3-u.kleine-koenig@pengutronix.de
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Cc: stable@vger.kernel.org
2023-10-10 12:13:09 -05: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: Explicitly include correct DT includes 2023-07-18 14:33:17 -05:00
pci-exynos.c PCI: exynos: Don't discard .remove() callback 2023-10-10 12:13:05 -05:00
pci-imx6.c Merge branch 'pci/misc' 2023-08-29 11:03:57 -05:00
pci-keystone.c PCI: Explicitly include correct DT includes 2023-07-18 14:33:17 -05:00
pci-layerscape-ep.c PCI: layerscape: Add workaround for lost link capabilities during reset 2023-08-24 10:08:25 +02:00
pci-layerscape.c PCI: Use PCI_HEADER_TYPE_* instead of literals 2023-10-03 11:55:59 -05:00
pci-meson.c Merge branch 'pci/misc' 2023-08-29 11:03:57 -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: Explicitly include correct DT includes 2023-07-18 14:33:17 -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-v6.6-changes 2023-08-30 20:23:07 -07:00
pcie-designware-plat.c PCI: Explicitly include correct DT includes 2023-07-18 14:33:17 -05:00
pcie-designware.c pci-v6.6-changes 2023-08-30 20:23:07 -07:00
pcie-designware.h pci-v6.6-changes 2023-08-30 20:23:07 -07:00
pcie-dw-rockchip.c PCI: Explicitly include correct DT includes 2023-07-18 14:33:17 -05:00
pcie-fu740.c PCI: fu740: Set the number of MSI vectors 2023-08-23 09:33:23 +02: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: Explicitly include correct DT includes 2023-07-18 14:33:17 -05:00
pcie-keembay.c PCI: keembay: Remove cast between incompatible function type 2023-07-13 18:20:31 +00:00
pcie-kirin.c PCI: kirin: Don't discard .remove() callback 2023-10-10 12:13:09 -05:00
pcie-qcom-ep.c Merge branch 'pci/controller/qcom-ep' 2023-08-29 11:03:54 -05:00
pcie-qcom.c Merge branch 'pci/misc' 2023-08-29 11:03:57 -05: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 Merge branch 'pci/misc' 2023-08-29 11:03:57 -05:00
pcie-uniphier-ep.c PCI: Explicitly include correct DT includes 2023-07-18 14:33:17 -05: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