Re: [PATCH v2 11/11] Remove devres from pci_intx()

From: Thomas Gleixner
Date: Wed Nov 13 2024 - 11:23:19 EST


On Wed, Nov 13 2024 at 13:41, Philipp Stanner wrote:
> pci_intx() is a hybrid function which can sometimes be managed through
> devres. This hybrid nature is undesirable.
>
> Since all users of pci_intx() have by now been ported either to
> always-managed pcim_intx() or never-managed pci_intx_unmanaged(), the
> devres functionality can be removed from pci_intx().
>
> Consequently, pci_intx_unmanaged() is now redundant, because pci_intx()
> itself is now unmanaged.
>
> Remove the devres functionality from pci_intx(). Have all users of
> pci_intx_unmanaged() call pci_intx(). Remove pci_intx_unmanaged().
>
> Signed-off-by: Philipp Stanner <pstanner@xxxxxxxxxx>
> ---
> drivers/misc/cardreader/rtsx_pcr.c | 2 +-
> drivers/misc/tifm_7xx1.c | 6 +--
> .../net/ethernet/broadcom/bnx2x/bnx2x_main.c | 2 +-
> drivers/net/ethernet/brocade/bna/bnad.c | 2 +-
> drivers/ntb/hw/amd/ntb_hw_amd.c | 4 +-
> drivers/ntb/hw/intel/ntb_hw_gen1.c | 2 +-
> drivers/pci/devres.c | 4 +-
> drivers/pci/msi/api.c | 2 +-
> drivers/pci/msi/msi.c | 2 +-
> drivers/pci/pci.c | 43 +------------------
> drivers/vfio/pci/vfio_pci_core.c | 2 +-
> drivers/vfio/pci/vfio_pci_intrs.c | 10 ++---
> drivers/xen/xen-pciback/conf_space_header.c | 2 +-
> include/linux/pci.h | 1 -
> 14 files changed, 22 insertions(+), 62 deletions(-)

Now I'm utterly confused. This undoes the pci_intx_unmanaged() churn
which you carefully split into several patches first.

So the net change is that:

1) pci_intx() is now always unmanaged

2) a couple of drivers use pcim_intx() now instead of pci_intx()

The obvious ordering is:

1) Convert the drivers which need the managed version to use
pcim_intx()

2) Remove the managed warning in pci_intx() and clean up the comment

3) Remove __pcim_intx() and invoke pci_intx() in the devres code.

No?

Thanks,

tglx