Commit 529cbc9c authored by Philipp Stanner's avatar Philipp Stanner Committed by Miquel Raynal
Browse files

mtd: rawnand: Use non-hybrid PCI devres API



denali_pci.c enables a PCI device with pcim_enable_device(). This,
implicitly, switches the function pci_request_regions() into managed
mode, where it becomes a devres function.

The PCI subsystem wants to remove this hybrid nature from its
interfaces. To do so, users of the aforementioned combination of
functions must be ported to non-hybrid functions.

Moreover, since both functions are already managed in this driver, the
calls to pci_release_regions() are unnecessary.

Remove the calls to pci_release_regions().

Replace the call to sometimes-managed pci_request_regions() with one to
the always-managed pcim_request_regions().

Signed-off-by: default avatarPhilipp Stanner <phasta@kernel.org>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
parent d9584635
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -68,7 +68,7 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
	denali->clk_rate = 50000000;		/* 50 MHz */
	denali->clk_x_rate = 200000000;		/* 200 MHz */

	ret = pci_request_regions(dev, DENALI_NAND_NAME);
	ret = pcim_request_all_regions(dev, DENALI_NAND_NAME);
	if (ret) {
		dev_err(&dev->dev, "Spectra: Unable to request memory regions\n");
		return ret;
@@ -77,20 +77,18 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)
	denali->reg = devm_ioremap(denali->dev, csr_base, csr_len);
	if (!denali->reg) {
		dev_err(&dev->dev, "Spectra: Unable to remap memory region\n");
		ret = -ENOMEM;
		goto regions_release;
		return -ENOMEM;
	}

	denali->host = devm_ioremap(denali->dev, mem_base, mem_len);
	if (!denali->host) {
		dev_err(&dev->dev, "Spectra: ioremap failed!");
		ret = -ENOMEM;
		goto regions_release;
		return -ENOMEM;
	}

	ret = denali_init(denali);
	if (ret)
		goto regions_release;
		return ret;

	nsels = denali->nbanks;

@@ -118,8 +116,6 @@ static int denali_pci_probe(struct pci_dev *dev, const struct pci_device_id *id)

out_remove_denali:
	denali_remove(denali);
regions_release:
	pci_release_regions(dev);
	return ret;
}

@@ -127,7 +123,6 @@ static void denali_pci_remove(struct pci_dev *dev)
{
	struct denali_controller *denali = pci_get_drvdata(dev);

	pci_release_regions(dev);
	denali_remove(denali);
}