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

Heiner Kallweit
2024-10-09T18:32:37Z

On 09.10.2024 10:35, Philipp Stanner wrote:
> 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.
>
AFAICS pci_intx() is used only by drivers which haven't been converted
to the pci_alloc_irq_vectors() API yet. Wouldn't it be better to do this
instead of trying to improve pci_intx()?
Eventually pci_intx() would have to be used in PCI core only.

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