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

Philipp Stanner
2024-10-09T08:36:42Z

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.

The last patch 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 would be to enter through the PCI tree.

Please say so if you've got concerns with the general idea behind the
RFC.

Regards,
P.

Philipp Stanner (13):
PCI: Prepare removing devres from pci_intx()
ALSA: hda: 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()
staging: rts5280: 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 | 14 +----------
drivers/staging/rts5208/rtsx.c | 2 +-
include/linux/pci.h | 1 +
sound/pci/hda/hda_intel.c | 2 +-
15 files changed, 18 insertions(+), 47 deletions(-)

--
2.46.1