Commit c9fa88e2 authored by Laurent Pinchart's avatar Laurent Pinchart Committed by Simon Horman

sh-pfc: Use devm_ioremap_nocache()

Replace probe-time ioremap_nocache() call with devm_ioremap_nocache()
and get rid of the corresponding iounmap() call.
Signed-off-by: default avatarLaurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
Acked-by: default avatarLinus Walleij <linus.walleij@linaro.org>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 1724acfd
...@@ -26,15 +26,6 @@ ...@@ -26,15 +26,6 @@
#include "core.h" #include "core.h"
static void pfc_iounmap(struct sh_pfc *pfc)
{
int k;
for (k = 0; k < pfc->pdata->num_resources; k++)
if (pfc->window[k].virt)
iounmap(pfc->window[k].virt);
}
static int pfc_ioremap(struct sh_pfc *pfc) static int pfc_ioremap(struct sh_pfc *pfc)
{ {
struct resource *res; struct resource *res;
...@@ -53,12 +44,10 @@ static int pfc_ioremap(struct sh_pfc *pfc) ...@@ -53,12 +44,10 @@ static int pfc_ioremap(struct sh_pfc *pfc)
WARN_ON(resource_type(res) != IORESOURCE_MEM); WARN_ON(resource_type(res) != IORESOURCE_MEM);
pfc->window[k].phys = res->start; pfc->window[k].phys = res->start;
pfc->window[k].size = resource_size(res); pfc->window[k].size = resource_size(res);
pfc->window[k].virt = ioremap_nocache(res->start, pfc->window[k].virt = devm_ioremap_nocache(pfc->dev, res->start,
resource_size(res)); resource_size(res));
if (!pfc->window[k].virt) { if (!pfc->window[k].virt)
pfc_iounmap(pfc);
return -ENOMEM; return -ENOMEM;
}
} }
return 0; return 0;
...@@ -524,7 +513,7 @@ static int sh_pfc_probe(struct platform_device *pdev) ...@@ -524,7 +513,7 @@ static int sh_pfc_probe(struct platform_device *pdev)
*/ */
ret = sh_pfc_register_pinctrl(pfc); ret = sh_pfc_register_pinctrl(pfc);
if (unlikely(ret != 0)) if (unlikely(ret != 0))
goto err; return ret;
#ifdef CONFIG_GPIO_SH_PFC #ifdef CONFIG_GPIO_SH_PFC
/* /*
...@@ -546,10 +535,6 @@ static int sh_pfc_probe(struct platform_device *pdev) ...@@ -546,10 +535,6 @@ static int sh_pfc_probe(struct platform_device *pdev)
pr_info("%s support registered\n", pdata->name); pr_info("%s support registered\n", pdata->name);
return 0; return 0;
err:
pfc_iounmap(pfc);
return ret;
} }
static int sh_pfc_remove(struct platform_device *pdev) static int sh_pfc_remove(struct platform_device *pdev)
...@@ -561,8 +546,6 @@ static int sh_pfc_remove(struct platform_device *pdev) ...@@ -561,8 +546,6 @@ static int sh_pfc_remove(struct platform_device *pdev)
#endif #endif
sh_pfc_unregister_pinctrl(pfc); sh_pfc_unregister_pinctrl(pfc);
pfc_iounmap(pfc);
platform_set_drvdata(pdev, NULL); platform_set_drvdata(pdev, NULL);
return 0; return 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment