[PATCH] x86/platform/intel-mid: Replace deprecated PCI functions

Philipp Stanner posted 1 patch 2 weeks, 4 days ago
There is a newer version of this series
arch/x86/platform/intel-mid/pwr.c | 11 ++++-------
1 file changed, 4 insertions(+), 7 deletions(-)
[PATCH] x86/platform/intel-mid: Replace deprecated PCI functions
Posted by Philipp Stanner 2 weeks, 4 days ago
pcim_iomap_table() and pcim_request_regions() have been deprecated in
commit e354bb84a4c1 ("PCI: Deprecate pcim_iomap_table(),
pcim_iomap_regions_request_all()") and commit d140f80f60358 ("PCI:
Deprecate pcim_iomap_regions() in favor of pcim_iomap_region()"),
respectively.

Replace these functions with pcim_iomap_region().

Additionally, pass the actual driver name to pcim_iomap_region()
instead of the previous pci_name(), since the 'name' parameter should
always reflect which driver owns a region.

Signed-off-by: Philipp Stanner <pstanner@redhat.com>
---
 arch/x86/platform/intel-mid/pwr.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/arch/x86/platform/intel-mid/pwr.c b/arch/x86/platform/intel-mid/pwr.c
index 27288d8d3f71..96fe7bf60ca0 100644
--- a/arch/x86/platform/intel-mid/pwr.c
+++ b/arch/x86/platform/intel-mid/pwr.c
@@ -358,18 +358,15 @@ static int mid_pwr_probe(struct pci_dev *pdev, const struct pci_device_id *id)
 		return ret;
 	}
 
-	ret = pcim_iomap_regions(pdev, 1 << 0, pci_name(pdev));
-	if (ret) {
-		dev_err(&pdev->dev, "I/O memory remapping failed\n");
-		return ret;
-	}
-
 	pwr = devm_kzalloc(dev, sizeof(*pwr), GFP_KERNEL);
 	if (!pwr)
 		return -ENOMEM;
 
+	pwr->regs = pcim_iomap_region(pdev, 0, "intel_mid_pwr");
+	if (IS_ERR(pwr->regs))
+		return PTR_ERR(pwr->regs);
+
 	pwr->dev = dev;
-	pwr->regs = pcim_iomap_table(pdev)[0];
 	pwr->irq = pdev->irq;
 
 	mutex_init(&pwr->lock);
-- 
2.47.0
Re: [PATCH] x86/platform/intel-mid: Replace deprecated PCI functions
Posted by Andy Shevchenko 2 weeks, 4 days ago
On Tue, Nov 05, 2024 at 12:25:22PM +0100, Philipp Stanner wrote:
> pcim_iomap_table() and pcim_request_regions() have been deprecated in
> commit e354bb84a4c1 ("PCI: Deprecate pcim_iomap_table(),
> pcim_iomap_regions_request_all()") and commit d140f80f60358 ("PCI:
> Deprecate pcim_iomap_regions() in favor of pcim_iomap_region()"),
> respectively.
> 
> Replace these functions with pcim_iomap_region().
> 
> Additionally, pass the actual driver name to pcim_iomap_region()
> instead of the previous pci_name(), since the 'name' parameter should
> always reflect which driver owns a region.

Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>

...

> -	ret = pcim_iomap_regions(pdev, 1 << 0, pci_name(pdev));
> -	if (ret) {
> -		dev_err(&pdev->dev, "I/O memory remapping failed\n");

Btw, do we have a similar message to be printed inside the new call?

> -		return ret;
> -	}

...

> +	pwr->regs = pcim_iomap_region(pdev, 0, "intel_mid_pwr");
> +	if (IS_ERR(pwr->regs))
> +		return PTR_ERR(pwr->regs);

-- 
With Best Regards,
Andy Shevchenko
Re: [PATCH] x86/platform/intel-mid: Replace deprecated PCI functions
Posted by Philipp Stanner 2 weeks, 4 days ago
On Tue, 2024-11-05 at 16:52 +0200, Andy Shevchenko wrote:
> On Tue, Nov 05, 2024 at 12:25:22PM +0100, Philipp Stanner wrote:
> > pcim_iomap_table() and pcim_request_regions() have been deprecated
> > in
> > commit e354bb84a4c1 ("PCI: Deprecate pcim_iomap_table(),
> > pcim_iomap_regions_request_all()") and commit d140f80f60358 ("PCI:
> > Deprecate pcim_iomap_regions() in favor of pcim_iomap_region()"),
> > respectively.
> > 
> > Replace these functions with pcim_iomap_region().
> > 
> > Additionally, pass the actual driver name to pcim_iomap_region()
> > instead of the previous pci_name(), since the 'name' parameter
> > should
> > always reflect which driver owns a region.
> 
> Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> 
> ...
> 
> > -	ret = pcim_iomap_regions(pdev, 1 << 0, pci_name(pdev));
> > -	if (ret) {
> > -		dev_err(&pdev->dev, "I/O memory remapping
> > failed\n");
> 
> Btw, do we have a similar message to be printed inside the new call?

Hm, no, it seems I forgot. Normally I keep those messages.

In this particular case we probably want to say "I/O memory request /
remapping failed\n", though.

And/or we give back the error code, which would reveal the exact issue
through -ENOMEM / -EBUSY

P.

> 
> > -		return ret;
> > -	}
> 
> ...
> 
> > +	pwr->regs = pcim_iomap_region(pdev, 0, "intel_mid_pwr");
> > +	if (IS_ERR(pwr->regs))
> > +		return PTR_ERR(pwr->regs);
> 
Re: [PATCH] x86/platform/intel-mid: Replace deprecated PCI functions
Posted by Andy Shevchenko 2 weeks, 3 days ago
On Wed, Nov 06, 2024 at 09:37:51AM +0100, Philipp Stanner wrote:
> On Tue, 2024-11-05 at 16:52 +0200, Andy Shevchenko wrote:
> > On Tue, Nov 05, 2024 at 12:25:22PM +0100, Philipp Stanner wrote:

...

> > > -	ret = pcim_iomap_regions(pdev, 1 << 0, pci_name(pdev));
> > > -	if (ret) {
> > > -		dev_err(&pdev->dev, "I/O memory remapping
> > > failed\n");
> > 
> > Btw, do we have a similar message to be printed inside the new call?
> 
> Hm, no, it seems I forgot. Normally I keep those messages.
> 
> In this particular case we probably want to say "I/O memory request /
> remapping failed\n", though.
> 
> And/or we give back the error code, which would reveal the exact issue
> through -ENOMEM / -EBUSY

I would expect this to behave in a similar way to devm_*ioremap*() which prints
message(s) and returns different error codes depending on the failure.

> > > -		return ret;
> > > -	}

...

> > > +	pwr->regs = pcim_iomap_region(pdev, 0, "intel_mid_pwr");
> > > +	if (IS_ERR(pwr->regs))
> > > +		return PTR_ERR(pwr->regs);

-- 
With Best Regards,
Andy Shevchenko