mbox series

[00/10] Remove pcim_iomap_regions_request_all()

Message ID 20240801174608.50592-1-pstanner@redhat.com
Headers show
Series Remove pcim_iomap_regions_request_all() | expand

Message

Philipp Stanner Aug. 1, 2024, 5:45 p.m. UTC
Hi all,

the PCI subsystem is currently working on cleaning up its devres API. To
do so, a few functions will be replaced with better alternatives.

This series removes pcim_iomap_regions_request_all(), which has been
deprecated already, and accordingly replaces the calls to
pcim_iomap_table() (which were only necessary because of
pcim_iomap_regions_request_all() in the first place) with calls to
pcim_iomap().

Would be great if you can take a look whether this behaves as you
intended for your respective component.

Cheers,
Philipp

Philipp Stanner (10):
  PCI: Make pcim_request_all_regions() a public function
  ata: ahci: Replace deprecated PCI functions
  crypto: qat - replace deprecated PCI functions
  crypto: marvell - replace deprecated PCI functions
  intel_th: pci: Replace deprecated PCI functions
  wifi: iwlwifi: replace deprecated PCI functions
  ntb: idt: Replace deprecated PCI functions
  serial: rp2: Remove deprecated PCI functions
  ALSA: korg1212: Replace deprecated PCI functions
  PCI: Remove pcim_iomap_regions_request_all()

 .../driver-api/driver-model/devres.rst        |  1 -
 drivers/ata/acard-ahci.c                      |  6 +-
 drivers/ata/ahci.c                            |  6 +-
 drivers/crypto/intel/qat/qat_420xx/adf_drv.c  | 11 +++-
 drivers/crypto/intel/qat/qat_4xxx/adf_drv.c   | 11 +++-
 .../marvell/octeontx2/otx2_cptpf_main.c       | 14 +++--
 .../marvell/octeontx2/otx2_cptvf_main.c       | 13 ++--
 drivers/hwtracing/intel_th/pci.c              |  9 ++-
 .../net/wireless/intel/iwlwifi/pcie/trans.c   | 16 ++---
 drivers/ntb/hw/idt/ntb_hw_idt.c               | 13 ++--
 drivers/pci/devres.c                          | 59 +------------------
 drivers/tty/serial/rp2.c                      | 12 ++--
 include/linux/pci.h                           |  3 +-
 sound/pci/korg1212/korg1212.c                 |  6 +-
 14 files changed, 76 insertions(+), 104 deletions(-)

Comments

Serge Semin Aug. 1, 2024, 5:56 p.m. UTC | #1
Hi Philipp

On Thu, Aug 01, 2024 at 07:46:05PM +0200, Philipp Stanner wrote:
> pcim_iomap_table() and pcim_iomap_regions_request_all() have been
> deprecated by the PCI subsystem in commit e354bb84a4c1 ("PCI: Deprecate
> pcim_iomap_table(), pcim_iomap_regions_request_all()").
> 
> Replace these functions with their successors, pcim_iomap() and
> pcim_request_all_regions()
> 
> Signed-off-by: Philipp Stanner <pstanner@redhat.com>

Looking good to me. Thanks.

Acked-by: Serge Semin <fancer.lancer@gmail.com>

-Serge(y)

> ---
>  drivers/ntb/hw/idt/ntb_hw_idt.c | 13 +++++++++----
>  1 file changed, 9 insertions(+), 4 deletions(-)
> 
> diff --git a/drivers/ntb/hw/idt/ntb_hw_idt.c b/drivers/ntb/hw/idt/ntb_hw_idt.c
> index 48dfb1a69a77..f1b57d51a814 100644
> --- a/drivers/ntb/hw/idt/ntb_hw_idt.c
> +++ b/drivers/ntb/hw/idt/ntb_hw_idt.c
> @@ -2671,15 +2671,20 @@ static int idt_init_pci(struct idt_ntb_dev *ndev)
>  	 */
>  	pci_set_master(pdev);
>  
> -	/* Request all BARs resources and map BAR0 only */
> -	ret = pcim_iomap_regions_request_all(pdev, 1, NTB_NAME);
> +	/* Request all BARs resources */
> +	ret = pcim_request_all_regions(pdev, NTB_NAME);
>  	if (ret != 0) {
>  		dev_err(&pdev->dev, "Failed to request resources\n");
>  		goto err_clear_master;
>  	}
>  
> -	/* Retrieve virtual address of BAR0 - PCI configuration space */
> -	ndev->cfgspc = pcim_iomap_table(pdev)[0];
> +	/* ioremap BAR0 - PCI configuration space */
> +	ndev->cfgspc = pcim_iomap(pdev, 0, 0);
> +	if (!ndev->cfgspc) {
> +		dev_err(&pdev->dev, "Failed to ioremap BAR 0\n");
> +		ret = -ENOMEM;
> +		goto err_clear_master;
> +	}
>  
>  	/* Put the IDT driver data pointer to the PCI-device private pointer */
>  	pci_set_drvdata(pdev, ndev);
> -- 
> 2.45.2
>
Damien Le Moal Aug. 2, 2024, 12:42 a.m. UTC | #2
On 8/2/24 02:45, Philipp Stanner wrote:
> In order to remove the deprecated function
> pcim_iomap_regions_request_all(), a few drivers need an interface to
> request all BARs a PCI-Device offers.
> 
> Make pcim_request_all_regions() a public interface.
> 
> Signed-off-by: Philipp Stanner <pstanner@redhat.com>

Reviewed-by: Damien Le Moal <dlemoal@kernel.org>
Takashi Iwai Aug. 2, 2024, 8:02 a.m. UTC | #3
On Thu, 01 Aug 2024 19:46:07 +0200,
Philipp Stanner wrote:
> 
> pcim_iomap_table() and pcim_iomap_regions_request_all() have been
> deprecated by the PCI subsystem in commit e354bb84a4c1 ("PCI: Deprecate
> pcim_iomap_table(), pcim_iomap_regions_request_all()").
> 
> Replace these functions with their successors, pcim_iomap() and
> pcim_request_all_regions()
> 
> Signed-off-by: Philipp Stanner <pstanner@redhat.com>

Reviewed-by: Takashi Iwai <tiwai@suse.de>

And feel free to take my ack to v2 if the further change will be only
about the description, too :)


thanks,

Takashi


> ---
>  sound/pci/korg1212/korg1212.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/sound/pci/korg1212/korg1212.c b/sound/pci/korg1212/korg1212.c
> index 5c2cac201a28..b5428ac34d3b 100644
> --- a/sound/pci/korg1212/korg1212.c
> +++ b/sound/pci/korg1212/korg1212.c
> @@ -2106,7 +2106,7 @@ static int snd_korg1212_create(struct snd_card *card, struct pci_dev *pci)
>          for (i=0; i<kAudioChannels; i++)
>                  korg1212->volumePhase[i] = 0;
>  
> -	err = pcim_iomap_regions_request_all(pci, 1 << 0, "korg1212");
> +	err = pcim_request_all_regions(pci, "korg1212");
>  	if (err < 0)
>  		return err;
>  
> @@ -2128,7 +2128,9 @@ static int snd_korg1212_create(struct snd_card *card, struct pci_dev *pci)
>  		   korg1212->iomem2, iomem2_size,
>  		   stateName[korg1212->cardState]);
>  
> -	korg1212->iobase = pcim_iomap_table(pci)[0];
> +	korg1212->iobase = pcim_iomap(pci, 0, 0);
> +	if (!korg1212->iobase)
> +		return -ENOMEM;
>  
>  	err = devm_request_irq(&pci->dev, pci->irq, snd_korg1212_interrupt,
>                            IRQF_SHARED,
> -- 
> 2.45.2
>