Re: [PATCH 1/2] mcb: Replace ioremap and request_region with the devm version

From: Johannes Thumshirn
Date: Wed Apr 20 2016 - 11:03:07 EST


On Wed, Apr 20, 2016 at 03:17:55PM +0200, Andreas Werner wrote:
> Replaced ioremap with devm_ioremap and request_mem_region with
> devm_request_mem_region. This makes the code much more cleaner.
>
> Signed-off-by: Andreas Werner <andreas.werner@xxxxxx>
> ---
> drivers/mcb/mcb-pci.c | 19 +++++++------------
> 1 file changed, 7 insertions(+), 12 deletions(-)
>
> diff --git a/drivers/mcb/mcb-pci.c b/drivers/mcb/mcb-pci.c
> index 67d5e7d..99dd9db 100644
> --- a/drivers/mcb/mcb-pci.c
> +++ b/drivers/mcb/mcb-pci.c
> @@ -55,19 +55,20 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> goto out_disable;
> }
>
> - res = request_mem_region(priv->mapbase, CHAM_HEADER_SIZE,
> - KBUILD_MODNAME);
> + res = devm_request_mem_region(&pdev->dev, priv->mapbase,
> + CHAM_HEADER_SIZE,
> + KBUILD_MODNAME);
> if (!res) {
> dev_err(&pdev->dev, "Failed to request PCI memory\n");
> ret = -EBUSY;
> goto out_disable;
> }
>
> - priv->base = ioremap(priv->mapbase, CHAM_HEADER_SIZE);
> + priv->base = devm_ioremap(&pdev->dev, priv->mapbase, CHAM_HEADER_SIZE);
> if (!priv->base) {
> dev_err(&pdev->dev, "Cannot ioremap\n");
> ret = -ENOMEM;
> - goto out_release;
> + goto out_disable;
> }
>
> flags = pci_resource_flags(pdev, 0);
> @@ -75,7 +76,7 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> ret = -ENOTSUPP;
> dev_err(&pdev->dev,
> "IO mapped PCI devices are not supported\n");
> - goto out_iounmap;
> + goto out_disable;
> }
>
> pci_set_drvdata(pdev, priv);
> @@ -83,7 +84,7 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
> priv->bus = mcb_alloc_bus(&pdev->dev);
> if (IS_ERR(priv->bus)) {
> ret = PTR_ERR(priv->bus);
> - goto out_iounmap;
> + goto out_disable;
> }
>
> priv->bus->get_irq = mcb_pci_get_irq;
> @@ -101,10 +102,6 @@ static int mcb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id)
>
> out_mcb_bus:
> mcb_release_bus(priv->bus);
> -out_iounmap:
> - iounmap(priv->base);
> -out_release:
> - pci_release_region(pdev, 0);
> out_disable:
> pci_disable_device(pdev);
> return ret;
> @@ -116,8 +113,6 @@ static void mcb_pci_remove(struct pci_dev *pdev)
>
> mcb_release_bus(priv->bus);
>
> - iounmap(priv->base);
> - release_region(priv->mapbase, CHAM_HEADER_SIZE);
> pci_disable_device(pdev);
> }
>
> --
> 2.6.2
>

Applied to mcb-for-v4.7,
Thanks

--
Johannes Thumshirn Storage
jthumshirn@xxxxxxx +49 911 74053 689
SUSE LINUX GmbH, Maxfeldstr. 5, 90409 Nürnberg
GF: Felix Imendörffer, Jane Smithard, Graham Norton
HRB 21284 (AG Nürnberg)
Key fingerprint = EC38 9CAB C2C4 F25D 8600 D0D0 0393 969D 2D76 0850