Blob Blame History Raw
From: Joerg Roedel <jroedel@suse.de>
Date: Mon, 11 May 2020 15:15:14 +0200
Subject: [PATCH] kABI: Fix kABI after EDR backport
Patch-mainline: Never, kABI fix only
References: bsc#1169263, jsc#SLE-10700, jsc#SLE-9457, jsc#SLE-12300

Signed-off-by: Joerg Roedel <jroedel@suse.de>
---
 drivers/pci/pcie/aer.c     |  6 ++++++
 drivers/pci/pcie/portdrv.h |  3 +++
 include/linux/pci.h        | 18 ++++++++++++------
 3 files changed, 21 insertions(+), 6 deletions(-)

diff --git a/drivers/pci/pcie/aer.c b/drivers/pci/pcie/aer.c
index d3d772023b20..7468fcf96ae4 100644
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -398,6 +398,12 @@ int pci_aer_clear_nonfatal_status(struct pci_dev *dev)
 }
 EXPORT_SYMBOL_GPL(pci_aer_clear_nonfatal_status);
 
+int pci_cleanup_aer_uncorrect_error_status(struct pci_dev *dev)
+{
+	return pci_aer_clear_nonfatal_status(dev);
+}
+EXPORT_SYMBOL_GPL(pci_cleanup_aer_uncorrect_error_status);
+
 void pci_aer_clear_fatal_status(struct pci_dev *dev)
 {
 	int pos;
diff --git a/drivers/pci/pcie/portdrv.h b/drivers/pci/pcie/portdrv.h
index e4999f24ad92..a586c735a582 100644
--- a/drivers/pci/pcie/portdrv.h
+++ b/drivers/pci/pcie/portdrv.h
@@ -90,6 +90,9 @@ struct pcie_port_service_driver {
 	/* Device driver may resume normal operations */
 	void (*error_resume)(struct pci_dev *dev);
 
+	/* Link Reset Capability - AER service driver specific */
+	pci_ers_result_t (*reset_link)(struct pci_dev *dev);
+
 	int port_type;  /* Type of the port this driver can handle */
 	u32 service;    /* Port service this device represents */
 
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 173775b2db84..40042523bb6b 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -450,11 +450,6 @@ struct pci_dev {
 	const struct attribute_group **msi_irq_groups;
 #endif
 	struct pci_vpd *vpd;
-#ifdef CONFIG_PCIE_DPC
-	u16		dpc_cap;
-	unsigned int	dpc_rp_extensions:1;
-	u8		dpc_rp_log_size;
-#endif
 #ifdef CONFIG_PCI_ATS
 	union {
 		struct pci_sriov	*sriov;		/* PF: SR-IOV info */
@@ -480,6 +475,14 @@ struct pci_dev {
 	void* suse_kabi_padding;
 
 	unsigned long	priv_flags;	/* Private flags for the PCI driver */
+
+#ifdef CONFIG_PCIE_DPC
+#ifndef __GENKSYMS__
+	u16		dpc_cap;
+	unsigned int	dpc_rp_extensions:1;
+	u8		dpc_rp_log_size;
+#endif /* __GENKSYMS__ */
+#endif
 };
 
 static inline struct pci_dev *pci_physfn(struct pci_dev *dev)
@@ -521,7 +524,6 @@ struct pci_host_bridge {
 	unsigned int	native_shpc_hotplug:1;	/* OS may use SHPC hotplug */
 	unsigned int	native_pme:1;		/* OS may use PCIe PME */
 	unsigned int	native_ltr:1;		/* OS may use PCIe LTR */
-	unsigned int	native_dpc:1;		/* OS may use PCIe DPC */
 	unsigned int	preserve_config:1;	/* Preserve FW resource setup */
 
 	void* suse_kabi_padding;
@@ -533,6 +535,10 @@ struct pci_host_bridge {
 			resource_size_t size,
 			resource_size_t align);
 	unsigned long	private[0] ____cacheline_aligned;
+
+#ifndef __GENKSYMS__
+	unsigned int	native_dpc:1;		/* OS may use PCIe DPC */
+#endif
 };
 
 #define	to_pci_host_bridge(n) container_of(n, struct pci_host_bridge, dev)
-- 
2.16.3