On Wed, 2024-11-13 at 17:22 +0100, Thomas Gleixner wrote: > 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. Have you read the email I have linked? There is also the cover-letter (does anyone in the community ever read those?) which explicitly states: "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." P. > > 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 >