Few drivers have own definitions for this constant, so move it to the PCI core. In addition there are several places where the following code sequence is used: 1. Read PCI_STATUS 2. Mask out non-error bits 3. Action based on set error bits 4. Write back set error bits to clear them As this is a repeated pattern, add a helper to the PCI core. Most affected drivers are network drivers. But as it's about core PCI functionality, I suppose the series should go through the PCI tree. v2: - fix formal issue with cover letter v3: - fix dumb typo in patch 7 Heiner Kallweit (8): PCI: add constant PCI_STATUS_ERROR_BITS PCI: add pci_status_get_and_clear_errors r8169: use pci_status_get_and_clear_errors net: cassini: use pci_status_get_and_clear_errors net: sungem: use pci_status_get_and_clear_errors net: skfp: use PCI_STATUS_ERROR_BITS PCI: pci-bridge-emul: use PCI_STATUS_ERROR_BITS sound: bt87x: use pci_status_get_and_clear_errors drivers/net/ethernet/marvell/skge.h | 6 ----- drivers/net/ethernet/marvell/sky2.h | 6 ----- drivers/net/ethernet/realtek/r8169_main.c | 15 +++++------- drivers/net/ethernet/sun/cassini.c | 28 ++++++++------------- drivers/net/ethernet/sun/sungem.c | 30 +++++++---------------- drivers/net/fddi/skfp/drvfbi.c | 2 +- drivers/net/fddi/skfp/h/skfbi.h | 5 ---- drivers/pci/pci-bridge-emul.c | 14 ++--------- drivers/pci/pci.c | 23 +++++++++++++++++ include/linux/pci.h | 1 + include/uapi/linux/pci_regs.h | 7 ++++++ sound/pci/bt87x.c | 7 +----- 12 files changed, 60 insertions(+), 84 deletions(-) -- 2.25.1