Thread (35 messages) 35 messages, 9 authors, 2024-11-04

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

From: Philipp Stanner <hidden>
Date: 2024-10-31 09:28:37
Also in: kvm, linux-ide, linux-input, linux-pci, linux-sound, linux-wireless, lkml, xen-devel

On Thu, 2024-10-31 at 10:19 +0100, Takashi Iwai wrote:
On Wed, 30 Oct 2024 23:17:37 +0100,
Bjorn Helgaas wrote:
quoted
On Tue, Oct 15, 2024 at 08:51:10PM +0200, Philipp Stanner wrote:
quoted
@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/ (local)
I *think* this series depends on resolution of Takashi's "Restore
the
original INTX_DISABLE bit by pcim_intx()" patch [2], right?
IIUC, it's not really dependent, as pcim_intx() has been used in
pci_intx() internally when the PCI device is already managed.
My patch is to correct the already existing behavior.
IOW, pcim_intx() does not behave correctly, independently from removing
the call to it in pci_intx().
  So I guess you
can take this series, and I'll post the revised patch later (sorry, I
was too busy for other tasks).


thanks,

Takashi
quoted
For now I'm postponing this series, but let me know if that's not
the
right thing.
There are still several reviews / acks missing from the respective
driver maintainers, so there's no hurry with this series regarding your
side ;)

Regards
P.

quoted
[2] https://lore.kernel.org/r/20241024155539.19416-1-tiwai@suse.de (local)
quoted
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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help