[PATCH 00/13] Remove implicit devres from pci_intx()

Philipp Stanner
2024-10-15T18:51:43Z

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

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/20241009083519.10088-1-pstanner@redhat.com/

Regards,
P.

Philipp Stanner (13):
PCI: Prepare removing devres from pci_intx()
ALSA: hda_intel: Use always-managed version of pcim_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()
PCI: Deprecate pci_intx(), pcim_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 | 29 +++++--------------
drivers/pci/pci.c | 19 ++++--------
include/linux/pci.h | 1 +
sound/pci/hda/hda_intel.c | 2 +-
14 files changed, 26 insertions(+), 47 deletions(-)

--
2.47.0