Commit 49966567 authored by Philipp Stanner's avatar Philipp Stanner Committed by Bjorn Helgaas
Browse files

gpio: Replace deprecated PCI functions

pcim_iomap_regions() and pcim_iomap_table() have been deprecated by the
PCI subsystem in commit e354bb84 ("PCI: Deprecate
pcim_iomap_table(), pcim_iomap_regions_request_all()").

Replace those functions with calls to pcim_iomap_region().

Link: https://lore.kernel.org/r/20241016094911.24818-7-pstanner@redhat.com


Signed-off-by: default avatarPhilipp Stanner <pstanner@redhat.com>
Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Reviewed-by: default avatarAndy Shevchenko <andy@kernel.org>
Acked-by: default avatarBartosz Golaszewski <bartosz.golaszewski@linaro.org>
parent 43657924
Loading
Loading
Loading
Loading
+8 −7
Original line number Diff line number Diff line
@@ -78,24 +78,25 @@ static int mrfld_gpio_probe(struct pci_dev *pdev, const struct pci_device_id *id
	if (retval)
		return retval;

	retval = pcim_iomap_regions(pdev, BIT(1) | BIT(0), pci_name(pdev));
	if (retval)
		return dev_err_probe(dev, retval, "I/O memory mapping error\n");

	base = pcim_iomap_table(pdev)[1];
	base = pcim_iomap_region(pdev, 1, pci_name(pdev));
	if (IS_ERR(base))
		return dev_err_probe(dev, PTR_ERR(base), "I/O memory mapping error\n");

	irq_base = readl(base + 0 * sizeof(u32));
	gpio_base = readl(base + 1 * sizeof(u32));

	/* Release the IO mapping, since we already get the info from BAR1 */
	pcim_iounmap_regions(pdev, BIT(1));
	pcim_iounmap_region(pdev, 1);

	priv = devm_kzalloc(dev, sizeof(*priv), GFP_KERNEL);
	if (!priv)
		return -ENOMEM;

	priv->dev = dev;
	priv->reg_base = pcim_iomap_table(pdev)[0];
	priv->reg_base = pcim_iomap_region(pdev, 0, pci_name(pdev));
	if (IS_ERR(priv->reg_base))
		return dev_err_probe(dev, PTR_ERR(priv->reg_base),
				"I/O memory mapping error\n");

	priv->pin_info.pin_ranges = mrfld_gpio_ranges;
	priv->pin_info.nranges = ARRAY_SIZE(mrfld_gpio_ranges);