2013-06-19 02:47:09

by Wei Yongjun

[permalink] [raw]
Subject: [PATCH -next] mfd: htc-egpio: use devm_ioremap_nocache() instead of ioremap_nocache()

From: Wei Yongjun <[email protected]>

Replace probe-time ioremap_nocache() call with devm_ioremap_nocache()
to avoid iounmap() missing and get rid of the corresponding iounmap()
call on remove.

Signed-off-by: Wei Yongjun <[email protected]>
---
drivers/mfd/htc-egpio.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/mfd/htc-egpio.c b/drivers/mfd/htc-egpio.c
index f2e0ad4..26aca54 100644
--- a/drivers/mfd/htc-egpio.c
+++ b/drivers/mfd/htc-egpio.c
@@ -286,7 +286,8 @@ static int __init egpio_probe(struct platform_device *pdev)
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
if (!res)
goto fail;
- ei->base_addr = ioremap_nocache(res->start, resource_size(res));
+ ei->base_addr = devm_ioremap_nocache(&pdev->dev, res->start,
+ resource_size(res));
if (!ei->base_addr)
goto fail;
pr_debug("EGPIO phys=%08x virt=%p\n", (u32)res->start, ei->base_addr);
@@ -380,7 +381,6 @@ static int __exit egpio_remove(struct platform_device *pdev)
irq_set_chained_handler(ei->chained_irq, NULL);
device_init_wakeup(&pdev->dev, 0);
}
- iounmap(ei->base_addr);

return 0;
}


2013-06-19 07:57:42

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH -next] mfd: htc-egpio: use devm_ioremap_nocache() instead of ioremap_nocache()

On Wed, 19 Jun 2013, Wei Yongjun wrote:

> From: Wei Yongjun <[email protected]>
>
> Replace probe-time ioremap_nocache() call with devm_ioremap_nocache()
> to avoid iounmap() missing and get rid of the corresponding iounmap()
> call on remove.
>
> Signed-off-by: Wei Yongjun <[email protected]>
> ---
> drivers/mfd/htc-egpio.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/mfd/htc-egpio.c b/drivers/mfd/htc-egpio.c
> index f2e0ad4..26aca54 100644
> --- a/drivers/mfd/htc-egpio.c
> +++ b/drivers/mfd/htc-egpio.c
> @@ -286,7 +286,8 @@ static int __init egpio_probe(struct platform_device *pdev)
> res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
> if (!res)
> goto fail;
> - ei->base_addr = ioremap_nocache(res->start, resource_size(res));
> + ei->base_addr = devm_ioremap_nocache(&pdev->dev, res->start,
> + resource_size(res));
> if (!ei->base_addr)
> goto fail;
> pr_debug("EGPIO phys=%08x virt=%p\n", (u32)res->start, ei->base_addr);
> @@ -380,7 +381,6 @@ static int __exit egpio_remove(struct platform_device *pdev)
> irq_set_chained_handler(ei->chained_irq, NULL);
> device_init_wakeup(&pdev->dev, 0);
> }
> - iounmap(ei->base_addr);
>
> return 0;
> }

Applied, thanks.

--
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org │ Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog