aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJulia Lawall <Julia.Lawall@lip6.fr>2013-08-14 05:11:07 -0400
committerLinus Walleij <linus.walleij@linaro.org>2013-08-16 11:16:31 -0400
commit08a67a58af3c361ae3e8d6fcf23a1489213309a9 (patch)
tree136b76ddd11fc9d42d0424600ee9a3884209213e
parent388f4308412574268d38010d877575f8caebad79 (diff)
drivers/gpio: simplify use of devm_ioremap_resource
Remove unneeded error handling on the result of a call to platform_get_resource when the value is passed to devm_ioremap_resource. Move the call to platform_get_resource adjacent to the call to devm_ioremap_resource to make the connection between them more clear. A simplified version of the semantic patch that makes this change is as follows: (http://coccinelle.lip6.fr/) // <smpl> @@ expression pdev,res,n,e,e1; expression ret != 0; identifier l; @@ - res = platform_get_resource(pdev, IORESOURCE_MEM, n); ... when != res - if (res == NULL) { ... \(goto l;\|return ret;\) } ... when != res + res = platform_get_resource(pdev, IORESOURCE_MEM, n); e = devm_ioremap_resource(e1, res); // </smpl> Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r--drivers/gpio/gpio-mvebu.c7
-rw-r--r--drivers/gpio/gpio-spear-spics.c7
2 files changed, 2 insertions, 12 deletions
diff --git a/drivers/gpio/gpio-mvebu.c b/drivers/gpio/gpio-mvebu.c
index 80ad35e2a8cd..3c3321f94053 100644
--- a/drivers/gpio/gpio-mvebu.c
+++ b/drivers/gpio/gpio-mvebu.c
@@ -566,12 +566,6 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
566 else 566 else
567 soc_variant = MVEBU_GPIO_SOC_VARIANT_ORION; 567 soc_variant = MVEBU_GPIO_SOC_VARIANT_ORION;
568 568
569 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
570 if (!res) {
571 dev_err(&pdev->dev, "Cannot get memory resource\n");
572 return -ENODEV;
573 }
574
575 mvchip = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_gpio_chip), GFP_KERNEL); 569 mvchip = devm_kzalloc(&pdev->dev, sizeof(struct mvebu_gpio_chip), GFP_KERNEL);
576 if (!mvchip) { 570 if (!mvchip) {
577 dev_err(&pdev->dev, "Cannot allocate memory\n"); 571 dev_err(&pdev->dev, "Cannot allocate memory\n");
@@ -611,6 +605,7 @@ static int mvebu_gpio_probe(struct platform_device *pdev)
611 mvchip->chip.dbg_show = mvebu_gpio_dbg_show; 605 mvchip->chip.dbg_show = mvebu_gpio_dbg_show;
612 606
613 spin_lock_init(&mvchip->lock); 607 spin_lock_init(&mvchip->lock);
608 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
614 mvchip->membase = devm_ioremap_resource(&pdev->dev, res); 609 mvchip->membase = devm_ioremap_resource(&pdev->dev, res);
615 if (IS_ERR(mvchip->membase)) 610 if (IS_ERR(mvchip->membase))
616 return PTR_ERR(mvchip->membase); 611 return PTR_ERR(mvchip->membase);
diff --git a/drivers/gpio/gpio-spear-spics.c b/drivers/gpio/gpio-spear-spics.c
index 7a4bf7c0d98f..e9a0415834ea 100644
--- a/drivers/gpio/gpio-spear-spics.c
+++ b/drivers/gpio/gpio-spear-spics.c
@@ -128,18 +128,13 @@ static int spics_gpio_probe(struct platform_device *pdev)
128 struct resource *res; 128 struct resource *res;
129 int ret; 129 int ret;
130 130
131 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
132 if (!res) {
133 dev_err(&pdev->dev, "invalid IORESOURCE_MEM\n");
134 return -EBUSY;
135 }
136
137 spics = devm_kzalloc(&pdev->dev, sizeof(*spics), GFP_KERNEL); 131 spics = devm_kzalloc(&pdev->dev, sizeof(*spics), GFP_KERNEL);
138 if (!spics) { 132 if (!spics) {
139 dev_err(&pdev->dev, "memory allocation fail\n"); 133 dev_err(&pdev->dev, "memory allocation fail\n");
140 return -ENOMEM; 134 return -ENOMEM;
141 } 135 }
142 136
137 res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
143 spics->base = devm_ioremap_resource(&pdev->dev, res); 138 spics->base = devm_ioremap_resource(&pdev->dev, res);
144 if (IS_ERR(spics->base)) 139 if (IS_ERR(spics->base))
145 return PTR_ERR(spics->base); 140 return PTR_ERR(spics->base);