Message ID | 20241209130632.132074-7-pstanner@redhat.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | Remove implicit devres from pci_intx() | expand |
[cc->to: Arnd, Greg, Alex] On Mon, Dec 09, 2024 at 02:06:27PM +0100, Philipp Stanner wrote: > pci_intx() is a hybrid function which can sometimes be managed through > devres. To remove this hybrid nature from pci_intx(), it is necessary to > port users to either an always-managed or a never-managed version. > > cardreader/rtsx_pcr.c and tifm_7xx1.c enable their PCI-Device with > pci_enable_device(). Thus, they need the never-managed version. > > Replace pci_intx() with pci_intx_unmanaged(). > > Signed-off-by: Philipp Stanner <pstanner@redhat.com> Looking for ack from Arnd, Greg, Alex. > --- > drivers/misc/cardreader/rtsx_pcr.c | 2 +- > drivers/misc/tifm_7xx1.c | 6 +++--- > 2 files changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/misc/cardreader/rtsx_pcr.c b/drivers/misc/cardreader/rtsx_pcr.c > index be3d4e0e50cc..e25e6d560dd7 100644 > --- a/drivers/misc/cardreader/rtsx_pcr.c > +++ b/drivers/misc/cardreader/rtsx_pcr.c > @@ -1057,7 +1057,7 @@ static int rtsx_pci_acquire_irq(struct rtsx_pcr *pcr) > } > > pcr->irq = pcr->pci->irq; > - pci_intx(pcr->pci, !pcr->msi_en); > + pci_intx_unmanaged(pcr->pci, !pcr->msi_en); > > return 0; > } > diff --git a/drivers/misc/tifm_7xx1.c b/drivers/misc/tifm_7xx1.c > index 1d54680d6ed2..5f9c7ccae8d2 100644 > --- a/drivers/misc/tifm_7xx1.c > +++ b/drivers/misc/tifm_7xx1.c > @@ -327,7 +327,7 @@ static int tifm_7xx1_probe(struct pci_dev *dev, > goto err_out; > } > > - pci_intx(dev, 1); > + pci_intx_unmanaged(dev, 1); > > fm = tifm_alloc_adapter(dev->device == PCI_DEVICE_ID_TI_XX21_XX11_FM > ? 4 : 2, &dev->dev); > @@ -368,7 +368,7 @@ static int tifm_7xx1_probe(struct pci_dev *dev, > err_out_free: > tifm_free_adapter(fm); > err_out_int: > - pci_intx(dev, 0); > + pci_intx_unmanaged(dev, 0); > pci_release_regions(dev); > err_out: > if (!pci_dev_busy) > @@ -392,7 +392,7 @@ static void tifm_7xx1_remove(struct pci_dev *dev) > tifm_7xx1_sock_power_off(tifm_7xx1_sock_addr(fm->addr, cnt)); > > iounmap(fm->addr); > - pci_intx(dev, 0); > + pci_intx_unmanaged(dev, 0); > pci_release_regions(dev); > > pci_disable_device(dev); > -- > 2.47.1 >
On Thu, Dec 12, 2024 at 01:26:37PM -0600, Bjorn Helgaas wrote: > [cc->to: Arnd, Greg, Alex] > > On Mon, Dec 09, 2024 at 02:06:27PM +0100, Philipp Stanner wrote: > > pci_intx() is a hybrid function which can sometimes be managed through > > devres. To remove this hybrid nature from pci_intx(), it is necessary to > > port users to either an always-managed or a never-managed version. > > > > cardreader/rtsx_pcr.c and tifm_7xx1.c enable their PCI-Device with > > pci_enable_device(). Thus, they need the never-managed version. > > > > Replace pci_intx() with pci_intx_unmanaged(). > > > > Signed-off-by: Philipp Stanner <pstanner@redhat.com> > > Looking for ack from Arnd, Greg, Alex. Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
diff --git a/drivers/misc/cardreader/rtsx_pcr.c b/drivers/misc/cardreader/rtsx_pcr.c index be3d4e0e50cc..e25e6d560dd7 100644 --- a/drivers/misc/cardreader/rtsx_pcr.c +++ b/drivers/misc/cardreader/rtsx_pcr.c @@ -1057,7 +1057,7 @@ static int rtsx_pci_acquire_irq(struct rtsx_pcr *pcr) } pcr->irq = pcr->pci->irq; - pci_intx(pcr->pci, !pcr->msi_en); + pci_intx_unmanaged(pcr->pci, !pcr->msi_en); return 0; } diff --git a/drivers/misc/tifm_7xx1.c b/drivers/misc/tifm_7xx1.c index 1d54680d6ed2..5f9c7ccae8d2 100644 --- a/drivers/misc/tifm_7xx1.c +++ b/drivers/misc/tifm_7xx1.c @@ -327,7 +327,7 @@ static int tifm_7xx1_probe(struct pci_dev *dev, goto err_out; } - pci_intx(dev, 1); + pci_intx_unmanaged(dev, 1); fm = tifm_alloc_adapter(dev->device == PCI_DEVICE_ID_TI_XX21_XX11_FM ? 4 : 2, &dev->dev); @@ -368,7 +368,7 @@ static int tifm_7xx1_probe(struct pci_dev *dev, err_out_free: tifm_free_adapter(fm); err_out_int: - pci_intx(dev, 0); + pci_intx_unmanaged(dev, 0); pci_release_regions(dev); err_out: if (!pci_dev_busy) @@ -392,7 +392,7 @@ static void tifm_7xx1_remove(struct pci_dev *dev) tifm_7xx1_sock_power_off(tifm_7xx1_sock_addr(fm->addr, cnt)); iounmap(fm->addr); - pci_intx(dev, 0); + pci_intx_unmanaged(dev, 0); pci_release_regions(dev); pci_disable_device(dev);
pci_intx() is a hybrid function which can sometimes be managed through devres. To remove this hybrid nature from pci_intx(), it is necessary to port users to either an always-managed or a never-managed version. cardreader/rtsx_pcr.c and tifm_7xx1.c enable their PCI-Device with pci_enable_device(). Thus, they need the never-managed version. Replace pci_intx() with pci_intx_unmanaged(). Signed-off-by: Philipp Stanner <pstanner@redhat.com> --- drivers/misc/cardreader/rtsx_pcr.c | 2 +- drivers/misc/tifm_7xx1.c | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-)