Skip to content

Remove implicit devres from pci_intx()

Philipp Stanner kvm linux-ide linux-input linux-pci linux-wireless lkml netdev ntb xen-devel 3 versions – In review

Get series with b4
b4 am [email protected]

Versions newest first · linked by author and title

  1. v3 Latest11 patches 13 repliesIn review
  2. v211 patches 8 repliesSuperseded
  3. v113 patches 22 repliesSuperseded

Changes in v3 from the cover letter

- Add Thomas' RB.

Patches in v3 No applies recorded yet

#Subject and filesSizeRepliesApplied
1/11PCI: Prepare removing devres from pci_intx()drivers/pci/devres.c drivers/pci/pci.c include/linux/pci.h+34 -210 replies
2/11drivers/xen: Use never-managed version of pci_intx()drivers/xen/xen-pciback/conf_space_header.c+1 -10 replies
3/11net/ethernet: Use never-managed version of pci_intx()drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c drivers/net/ethernet/brocade/bna/bnad.c+2 -22 replies
4/11net/ntb: Use never-managed version of pci_intx()drivers/ntb/hw/amd/ntb_hw_amd.c drivers/ntb/hw/intel/ntb_hw_gen1.c+3 -30 replies
5/11misc: Use never-managed version of pci_intx()drivers/misc/cardreader/rtsx_pcr.c drivers/misc/tifm_7xx1.c+4 -43 replies
6/11vfio/pci: Use never-managed version of pci_intx()drivers/vfio/pci/vfio_pci_core.c drivers/vfio/pci/vfio_pci_intrs.c+6 -62 replies
7/11PCI: MSI: Use never-managed version of pci_intx()drivers/pci/msi/api.c drivers/pci/msi/msi.c+2 -20 replies
8/11ata: Use always-managed version of pci_intx()drivers/ata/ahci.c drivers/ata/ata_piix.c drivers/ata/pata_rdc.c +4 more+7 -70 replies
9/11wifi: qtnfmac: use always-managed version of pcim_intx()drivers/net/wireless/quantenna/qtnfmac/pcie/pcie.c+1 -13 replies
10/11HID: amd_sfh: Use always-managed version of pcim_intx()drivers/hid/amd-sfh-hid/amd_sfh_pcie.c drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c+3 -30 replies
11/11Remove devres from pci_intx()drivers/misc/cardreader/rtsx_pcr.c drivers/misc/tifm_7xx1.c drivers/net/ethernet/broadcom/bnx2x/bnx2x_main.c +11 more+22 -621 reply

Reviews trailers per patch

All 11 patches have a Reviewed-by or Acked-by.

PatchDamien Le MoalJuergen GrossShyam Sundar S KDave JiangThomas GleixnerSergey ShtylyovNiklas CasselKalle ValoBasavaraj NatikarPaolo AbeniAlex WilliamsonGreg Kroah-Hartman
1/11R-b
2/11A-b
3/11A-b
4/11A-b A-b
5/11A-b A-b
6/11A-b
7/11R-b
8/11R-b A-b
9/11A-b
10/11A-b
11/11A-b

Trailers given in replies are filled; those carried in the patches from earlier versions are outlined with dashes. Scroll the table sideways for all 12 reviewers.

Read the v3 thread

Cover letter [PATCH v3 00/11] Remove implicit devres from pci_intx()

@Driver-Maintainers: Your driver might be touched by patch "Remove devres from pci_intx()". You might want to take a look.

Changes in v3:
- Add Thomas' RB.

Changes in v2:
- Drop pci_intx() deprecation patch.
- ata: Add RB from Sergey and Niklas.
- wifi: Add AB by Kalle.
- Drop INTx deprecation patch
- Drop ALSA / hda_intel patch because pci_intx() was removed from there in the meantime.

Changes since the RFC [1]:
- Add a patch deprecating pci{m}_intx(). (Heiner, Andy, Me)
- Add Acked-by's already given.
- Export pcim_intx() as a GPL function. (Alex)
- Drop patch for rts5280, since this driver will be removed quite soon. (Philipp Hortmann, Greg)
- Use early-return in pci_intx_unmanaged() and pci_intx(). (Andy)

Hi all,

this series removes a problematic feature from pci_intx(). That function sometimes implicitly uses devres for automatic cleanup. We should get rid of this implicit behavior.

To do so, a pci_intx() version that is always-managed, and one that is never-managed are provided. Then, all pci_intx() users are ported to the version they need. Afterwards, pci_intx() can be cleaned up and the users of the never-managed version be ported back to pci_intx().

This way we'd get this PCI API consistent again.

Patch "Remove devres from pci_intx()" obviously reverts the previous patches that made drivers use pci_intx_unmanaged(). But this way it's easier to review and approve. It also makes sure that each checked out commit should provide correct behavior, not just the entire series as a whole.

Merge plan for this is to enter through the PCI tree.

[1] https://lore.kernel.org/all/[email protected]/

Regards,
P.

Philipp Stanner (11):
PCI: Prepare removing devres from pci_intx() drivers/xen: Use never-managed version of pci_intx() net/ethernet: Use never-managed version of pci_intx() net/ntb: Use never-managed version of pci_intx()
misc: Use never-managed version of pci_intx() vfio/pci: Use never-managed version of pci_intx()
PCI: MSI: Use never-managed version of pci_intx()
ata: Use always-managed version of pci_intx()
wifi: qtnfmac: use always-managed version of pcim_intx()
HID: amd_sfh: Use always-managed version of pcim_intx() Remove devres from pci_intx()

 drivers/ata/ahci.c                            |  2 +-
 drivers/ata/ata_piix.c                        |  2 +-
 drivers/ata/pata_rdc.c                        |  2 +-
 drivers/ata/sata_sil24.c                      |  2 +-
 drivers/ata/sata_sis.c                        |  2 +-
 drivers/ata/sata_uli.c                        |  2 +-
 drivers/ata/sata_vsc.c                        |  2 +-
 drivers/hid/amd-sfh-hid/amd_sfh_pcie.c        |  4 ++--
 drivers/hid/amd-sfh-hid/sfh1_1/amd_sfh_init.c |  2 +-
 .../wireless/quantenna/qtnfmac/pcie/pcie.c    |  2 +-
 drivers/pci/devres.c                          | 24 +++----------------
 drivers/pci/pci.c                             | 16 +++----------
 include/linux/pci.h                           |  1 +
 13 files changed, 18 insertions(+), 45 deletions(-)
Signature · 1 line
2.47.1