mbox series

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

Message ID 20ca7c1f-7530-2d89-40a6-d97a65aa25ef@gmail.com
Headers show
Series PCI: add and use constant PCI_STATUS_ERROR_BITS and helper pci_status_get_and_clear_errors | expand

Message

Heiner Kallweit Feb. 25, 2020, 2:03 p.m. UTC
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(-)

Comments

Bjorn Helgaas Feb. 25, 2020, 8:57 p.m. UTC | #1
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
> 
> 
>