On Fri, Feb 14, 2020 at 10:44:05AM -0500, Sasha Levin wrote:
From: Greg Kroah-Hartman gregkh@google.com
[ Upstream commit bb950bca5d522119f8b9ce3f6cbac4841c6d6517 ]
Commit d355bb209783 ("PCI/ATS: Remove unnecessary EXPORT_SYMBOL_GPL()") unexported a bunch of symbols from the PCI core since the only external users were non-modular IOMMU drivers. Although most of those symbols can remain private for now, 'pci_{enable,disable_ats()' is required for the ARM SMMUv3 driver to build as a module, otherwise we get a build failure as follows:
| ERROR: "pci_enable_ats" [drivers/iommu/arm-smmu-v3.ko] undefined! | ERROR: "pci_disable_ats" [drivers/iommu/arm-smmu-v3.ko] undefined!
Re-export these two functions so that the ARM SMMUv3 driver can be build as a module.
Cc: Bjorn Helgaas bhelgaas@google.com Cc: Joerg Roedel jroedel@suse.de Signed-off-by: Greg Kroah-Hartman gregkh@google.com [will: rewrote commit message] Signed-off-by: Will Deacon will@kernel.org Tested-by: John Garry john.garry@huawei.com # smmu v3 Reviewed-by: Greg Kroah-Hartman gregkh@linuxfoundation.org Acked-by: Bjorn Helgaas bhelgaas@google.com Signed-off-by: Joerg Roedel jroedel@suse.de Signed-off-by: Sasha Levin sashal@kernel.org
drivers/pci/ats.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/pci/ats.c b/drivers/pci/ats.c index b6f064c885c37..3ef0bb281e7cc 100644 --- a/drivers/pci/ats.c +++ b/drivers/pci/ats.c @@ -69,6 +69,7 @@ int pci_enable_ats(struct pci_dev *dev, int ps) dev->ats_enabled = 1; return 0; } +EXPORT_SYMBOL_GPL(pci_enable_ats); /**
- pci_disable_ats - disable the ATS capability
@@ -87,6 +88,7 @@ void pci_disable_ats(struct pci_dev *dev) dev->ats_enabled = 0; } +EXPORT_SYMBOL_GPL(pci_disable_ats); void pci_restore_ats_state(struct pci_dev *dev) { -- 2.20.1
This isn't needed to be backported as the problem it solves is not in the 5.5 or older kernels, it only showed up in 5.6-rc1, and this was part of a larger patchset.
So please drop from everywhere, thanks.
greg k-h