Re: [PATCH v3 0/8] PCI: add and use constant PCI_STATUS_ERROR_BITS and helper pci_status_get_and_clear_errors

From: Bjorn Helgaas
Date: Tue Feb 25 2020 - 15:57:59 EST


On Tue, Feb 25, 2020 at 03:03:05PM +0100, Heiner Kallweit wrote:
> 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.

Makes good sense to me, thanks for doing this.

> 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
>
>
>