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(-)
--- a/drivers/pci/pcie/aer.c
+++ b/drivers/pci/pcie/aer.c
@@ -275,6 +275,12 @@ int pci_aer_clear_nonfatal_status(struct
}
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 aer = dev->aer_cap;
--- a/drivers/pci/pcie/portdrv.h
+++ b/drivers/pci/pcie/portdrv.h
@@ -92,6 +92,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 */
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -454,11 +454,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 */
@@ -484,6 +479,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)
@@ -525,8 +528,11 @@ 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 */
+#ifndef __GENKSYMS__
+ /* Safe to leave this bit here - it is bit 8 of a 32 bit field */
+ unsigned int native_dpc:1; /* OS may use PCIe DPC */
+#endif
void* suse_kabi_padding;