From 14997473cc3b38056772ce1372767bf3c974ad5c Mon Sep 17 00:00:00 2001 From: Laurent Pinchart Date: Sat, 15 Dec 2012 23:50:49 +0100 Subject: [PATCH] --- yaml --- r: 355343 b: refs/heads/master c: c9fa88e23a8c6d1a72ba37c7d4df3d05051e8e8e h: refs/heads/master i: 355341: 4226420685a04bf08351aa8afbfe55bff1a7e0ff 355339: 777be7ce3970f23a67b56c2bf0a49853ad4e307a 355335: e96be38f76e51be97816100a126e3a029d6ddebf 355327: ccd114e9823f0d5e49a62d8650eb47bfd03fa4fe v: v3 --- [refs] | 2 +- trunk/drivers/sh/pfc/core.c | 25 ++++--------------------- 2 files changed, 5 insertions(+), 22 deletions(-) diff --git a/[refs] b/[refs] index e2f026ebf855..6650a28454a6 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1724acfd598bdf688218bdd26a5f02dd55b6ec62 +refs/heads/master: c9fa88e23a8c6d1a72ba37c7d4df3d05051e8e8e diff --git a/trunk/drivers/sh/pfc/core.c b/trunk/drivers/sh/pfc/core.c index 54919026ac12..8ec57bd5b1f9 100644 --- a/trunk/drivers/sh/pfc/core.c +++ b/trunk/drivers/sh/pfc/core.c @@ -26,15 +26,6 @@ #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) { struct resource *res; @@ -53,12 +44,10 @@ static int pfc_ioremap(struct sh_pfc *pfc) WARN_ON(resource_type(res) != IORESOURCE_MEM); pfc->window[k].phys = res->start; pfc->window[k].size = resource_size(res); - pfc->window[k].virt = ioremap_nocache(res->start, - resource_size(res)); - if (!pfc->window[k].virt) { - pfc_iounmap(pfc); + pfc->window[k].virt = devm_ioremap_nocache(pfc->dev, res->start, + resource_size(res)); + if (!pfc->window[k].virt) return -ENOMEM; - } } return 0; @@ -524,7 +513,7 @@ static int sh_pfc_probe(struct platform_device *pdev) */ ret = sh_pfc_register_pinctrl(pfc); if (unlikely(ret != 0)) - goto err; + return ret; #ifdef CONFIG_GPIO_SH_PFC /* @@ -546,10 +535,6 @@ static int sh_pfc_probe(struct platform_device *pdev) pr_info("%s support registered\n", pdata->name); return 0; - -err: - pfc_iounmap(pfc); - return ret; } static int sh_pfc_remove(struct platform_device *pdev) @@ -561,8 +546,6 @@ static int sh_pfc_remove(struct platform_device *pdev) #endif sh_pfc_unregister_pinctrl(pfc); - pfc_iounmap(pfc); - platform_set_drvdata(pdev, NULL); return 0;