linux/drivers/pci/controller/dwc
Uwe Kleine-König acfc0791bd PCI: exynos: Don't discard .remove() callback
commit 83a939f0fd upstream.

With CONFIG_PCI_EXYNOS=y and exynos_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:

  WARNING: modpost: drivers/pci/controller/dwc/pci-exynos: section mismatch in reference: exynos_pcie_driver+0x8 (section: .data) -> exynos_pcie_remove (section: .exit.text)

(with ARCH=x86_64 W=1 allmodconfig).

Fixes: 340cba6092 ("pci: Add PCIe driver for Samsung Exynos")
Link: https://lore.kernel.org/r/20231001170254.2506508-2-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>
Reviewed-by: Alim Akhtar <alim.akhtar@samsung.com>
Cc: stable@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2023-11-28 17:20:01 +00: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-11-28 17:20:01 +00:00
pci-imx6.c Merge branch 'pci/misc' 2023-08-29 11:03:57 -05:00
pci-keystone.c PCI: keystone: Don't discard .probe() callback 2023-11-28 17:20:00 +00: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: layerscape: Add power management support for ls1028a 2023-08-24 11:49:38 +02: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: dwc: Add missing PCI_EXP_LNKCAP_MLW handling 2023-11-28 17:19:44 +00: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-11-28 17:20:01 +00:00
pcie-qcom-ep.c PCI: qcom-ep: Add dedicated callback for writing to DBI2 registers 2023-11-28 17:20:01 +00:00
pcie-qcom.c PCI: qcom: Fix IPQ8074 enumeration 2023-09-29 15:47:25 -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 PCI: tegra194: Use FIELD_GET()/FIELD_PREP() with Link Width fields 2023-11-28 17:19:43 +00: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