diff mbox series

[v3,05/11] misc: Use never-managed version of pci_intx()

Message ID 20241209130632.132074-7-pstanner@redhat.com (mailing list archive)
State Accepted
Commit 8fb24ace8d83351ad494426bc950eb43148cf473
Delegated to: Bjorn Helgaas
Headers show
Series Remove implicit devres from pci_intx() | expand

Commit Message

Philipp Stanner Dec. 9, 2024, 1:06 p.m. UTC
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(-)

Comments

Bjorn Helgaas Dec. 12, 2024, 7:26 p.m. UTC | #1
[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
>
Greg KH Dec. 13, 2024, 7:31 a.m. UTC | #2
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 mbox series

Patch

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