drivers/pwm/pwm-dwc.c | 14 +++++--------- drivers/pwm/pwm-lpss-pci.c | 9 +++++---- 2 files changed, 10 insertions(+), 13 deletions(-)
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()").
Replace these functions with pcim_iomap_region().
Additionally, pass the actual driver names 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>
---
drivers/pwm/pwm-dwc.c | 14 +++++---------
drivers/pwm/pwm-lpss-pci.c | 9 +++++----
2 files changed, 10 insertions(+), 13 deletions(-)
diff --git a/drivers/pwm/pwm-dwc.c b/drivers/pwm/pwm-dwc.c
index fb3eadf6fbc4..9101a89447d6 100644
--- a/drivers/pwm/pwm-dwc.c
+++ b/drivers/pwm/pwm-dwc.c
@@ -66,20 +66,16 @@ static int dwc_pwm_probe(struct pci_dev *pci, const struct pci_device_id *id)
pci_set_master(pci);
- ret = pcim_iomap_regions(pci, BIT(0), pci_name(pci));
- if (ret)
- return dev_err_probe(dev, ret, "Failed to iomap PCI BAR\n");
-
info = (const struct dwc_pwm_info *)id->driver_data;
ddata = devm_kzalloc(dev, struct_size(ddata, chips, info->nr), GFP_KERNEL);
if (!ddata)
return -ENOMEM;
- /*
- * No need to check for pcim_iomap_table() failure,
- * pcim_iomap_regions() already does it for us.
- */
- ddata->io_base = pcim_iomap_table(pci)[0];
+ ddata->io_base = pcim_iomap_region(pci, 0, "pwm-dwc");
+ ret = PTR_ERR_OR_ZERO(ddata->io_base);
+ if (ret)
+ return dev_err_probe(dev, ret, "Failed to iomap PCI BAR\n");
+
ddata->info = info;
for (idx = 0; idx < ddata->info->nr; idx++) {
diff --git a/drivers/pwm/pwm-lpss-pci.c b/drivers/pwm/pwm-lpss-pci.c
index f7ece2809e6b..823f570afb80 100644
--- a/drivers/pwm/pwm-lpss-pci.c
+++ b/drivers/pwm/pwm-lpss-pci.c
@@ -18,6 +18,7 @@ static int pwm_lpss_probe_pci(struct pci_dev *pdev,
const struct pci_device_id *id)
{
const struct pwm_lpss_boardinfo *info;
+ void __iomem *io_base;
struct pwm_chip *chip;
int err;
@@ -25,12 +26,12 @@ static int pwm_lpss_probe_pci(struct pci_dev *pdev,
if (err < 0)
return err;
- err = pcim_iomap_regions(pdev, BIT(0), pci_name(pdev));
- if (err)
- return err;
+ io_base = pcim_iomap_region(pdev, 0, "pwm-lpss");
+ if (IS_ERR(io_base))
+ return PTR_ERR(io_base);
info = (struct pwm_lpss_boardinfo *)id->driver_data;
- chip = devm_pwm_lpss_probe(&pdev->dev, pcim_iomap_table(pdev)[0], info);
+ chip = devm_pwm_lpss_probe(&pdev->dev, io_base, info);
if (IS_ERR(chip))
return PTR_ERR(chip);
--
2.47.0
Hello, [adding Bjorn and linux-pci to Cc:] On Tue, Nov 05, 2024 at 10:26:42AM +0100, Philipp Stanner wrote: > diff --git a/drivers/pwm/pwm-dwc.c b/drivers/pwm/pwm-dwc.c > index fb3eadf6fbc4..9101a89447d6 100644 > --- a/drivers/pwm/pwm-dwc.c > +++ b/drivers/pwm/pwm-dwc.c > @@ -66,20 +66,16 @@ static int dwc_pwm_probe(struct pci_dev *pci, const struct pci_device_id *id) > > pci_set_master(pci); > > - ret = pcim_iomap_regions(pci, BIT(0), pci_name(pci)); > - if (ret) > - return dev_err_probe(dev, ret, "Failed to iomap PCI BAR\n"); > - > info = (const struct dwc_pwm_info *)id->driver_data; > ddata = devm_kzalloc(dev, struct_size(ddata, chips, info->nr), GFP_KERNEL); > if (!ddata) > return -ENOMEM; > > - /* > - * No need to check for pcim_iomap_table() failure, > - * pcim_iomap_regions() already does it for us. > - */ > - ddata->io_base = pcim_iomap_table(pci)[0]; > + ddata->io_base = pcim_iomap_region(pci, 0, "pwm-dwc"); > + ret = PTR_ERR_OR_ZERO(ddata->io_base); > + if (ret) > + return dev_err_probe(dev, ret, "Failed to iomap PCI BAR\n"); I'd say the following is more natural: ddata->io_base = pcim_iomap_region(pci, 0, "pwm-dwc"); if (IS_ERR(ddata->io_base)) return dev_err_probe(dev, PTR_ERR(ddata->io_base), "Failed to iomap PCI BAR\n"); (maybe with a local variable for ddata->io_base?) > + > ddata->info = info; > > for (idx = 0; idx < ddata->info->nr; idx++) { > diff --git a/drivers/pwm/pwm-lpss-pci.c b/drivers/pwm/pwm-lpss-pci.c > index f7ece2809e6b..823f570afb80 100644 > --- a/drivers/pwm/pwm-lpss-pci.c > +++ b/drivers/pwm/pwm-lpss-pci.c > [...] > @@ -25,12 +26,12 @@ static int pwm_lpss_probe_pci(struct pci_dev *pdev, > if (err < 0) > return err; > > - err = pcim_iomap_regions(pdev, BIT(0), pci_name(pdev)); > - if (err) > - return err; > + io_base = pcim_iomap_region(pdev, 0, "pwm-lpss"); > + if (IS_ERR(io_base)) > + return PTR_ERR(io_base); > > info = (struct pwm_lpss_boardinfo *)id->driver_data; > - chip = devm_pwm_lpss_probe(&pdev->dev, pcim_iomap_table(pdev)[0], info); > + chip = devm_pwm_lpss_probe(&pdev->dev, io_base, info); > if (IS_ERR(chip)) > return PTR_ERR(chip); I remember I didn't like it when pcim_iomap_table(pdev)[0] was introduced. Glad it can go away. Best regards Uwe
© 2016 - 2024 Red Hat, Inc.