Use the device managed ioremap to simplify the probe function.

Signed-off-by: Robert Jarzmik <[email protected]>
---
 drivers/gpio/gpio-pxa.c | 7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/drivers/gpio/gpio-pxa.c b/drivers/gpio/gpio-pxa.c
index de2cfbeccaa1..8558abf98204 100644
--- a/drivers/gpio/gpio-pxa.c
+++ b/drivers/gpio/gpio-pxa.c
@@ -614,9 +614,8 @@ static int pxa_gpio_probe(struct platform_device *pdev)
                || (irq_mux <= 0))
                return -EINVAL;
        res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res)
-               return -EINVAL;
-       gpio_reg_base = ioremap(res->start, resource_size(res));
+       gpio_reg_base = devm_ioremap(&pdev->dev, res->start,
+                                    resource_size(res));
        if (!gpio_reg_base)
                return -EINVAL;
 
@@ -627,13 +626,11 @@ static int pxa_gpio_probe(struct platform_device *pdev)
        if (IS_ERR(clk)) {
                dev_err(&pdev->dev, "Error %ld to get gpio clock\n",
                        PTR_ERR(clk));
-               iounmap(gpio_reg_base);
                return PTR_ERR(clk);
        }
        ret = clk_prepare_enable(clk);
        if (ret) {
                clk_put(clk);
-               iounmap(gpio_reg_base);
                return ret;
        }
 
-- 
2.1.4

--
To unsubscribe from this list: send the line "unsubscribe linux-gpio" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to