Re: [PATCH v4 5/7] ethernet: cavium: Replace deprecated PCI functions
From: Philipp Stanner
Date: Wed Aug 28 2024 - 02:57:22 EST
On Tue, 2024-08-27 at 20:56 +0200, Philipp Stanner wrote:
> pcim_iomap_regions() and pcim_iomap_table() have been deprecated by
> the PCI subsystem in commit e354bb84a4c1 ("PCI: Deprecate
> pcim_iomap_table(), pcim_iomap_regions_request_all()").
>
> Furthermore, the driver contains an unneeded call to
> pcim_iounmap_regions() in its probe() function's error unwind path.
>
> Replace the deprecated PCI functions with pcim_iomap_region().
>
> Remove the unnecessary call to pcim_iounmap_regions().
>
> Signed-off-by: Philipp Stanner <pstanner@xxxxxxxxxx>
> ---
> drivers/net/ethernet/cavium/common/cavium_ptp.c | 6 ++----
> 1 file changed, 2 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/net/ethernet/cavium/common/cavium_ptp.c
> b/drivers/net/ethernet/cavium/common/cavium_ptp.c
> index 9fd717b9cf69..914ccc8eaf5e 100644
> --- a/drivers/net/ethernet/cavium/common/cavium_ptp.c
> +++ b/drivers/net/ethernet/cavium/common/cavium_ptp.c
> @@ -239,12 +239,11 @@ static int cavium_ptp_probe(struct pci_dev
> *pdev,
> if (err)
> goto error_free;
>
> - err = pcim_iomap_regions(pdev, 1 << PCI_PTP_BAR_NO,
> pci_name(pdev));
> + clock->reg_base = pcim_iomap_region(pdev, PCI_PTP_BAR_NO,
> pci_name(pdev));
> + err = PTR_ERR_OR_ZERO(clock->reg_base);
> if (err)
> goto error_free;
>
> - clock->reg_base = pcim_iomap_table(pdev)[PCI_PTP_BAR_NO];
> -
> spin_lock_init(&clock->spin_lock);
>
> cc = &clock->cycle_counter;
> @@ -292,7 +291,6 @@ static int cavium_ptp_probe(struct pci_dev *pdev,
> clock_cfg = readq(clock->reg_base + PTP_CLOCK_CFG);
> clock_cfg &= ~PTP_CLOCK_CFG_PTP_EN;
> writeq(clock_cfg, clock->reg_base + PTP_CLOCK_CFG);
> - pcim_iounmap_regions(pdev, 1 << PCI_PTP_BAR_NO);
I think I removed that by accident – thinking about it, we should not
remove it since the driver later returns 0 from its probe(). So we
should not keep blocking the region.
Has to be addressed in v5.
P.
>
> error_free:
> devm_kfree(dev, clock);