Thread (4 messages) 4 messages, 3 authors, 2013-08-16

Re: [PATCH 3/29] drivers/gpio: simplify use of devm_ioremap_resource

From: Viresh Kumar <viresh.kumar@linaro.org>
Date: 2013-08-14 09:24:00
Also in: kernel-janitors, lkml

On Wed, Aug 14, 2013 at 2:41 PM, Julia Lawall [off-list ref] wrote:
From: Julia Lawall <redacted>

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 <redacted>

---
 drivers/gpio/gpio-spear-spics.c |    7 +------
 2 files changed, 2 insertions(+), 12 deletions(-)
For SPEAr:

Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
quoted hunk ↗ jump to hunk
diff --git a/drivers/gpio/gpio-spear-spics.c b/drivers/gpio/gpio-spear-spics.c
index 7a4bf7c..e9a0415 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)
        struct resource *res;
        int ret;

-       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!res) {
-               dev_err(&pdev->dev, "invalid IORESOURCE_MEM\n");
-               return -EBUSY;
-       }
-
        spics = devm_kzalloc(&pdev->dev, sizeof(*spics), GFP_KERNEL);
        if (!spics) {
                dev_err(&pdev->dev, "memory allocation fail\n");
                return -ENOMEM;
        }

+       res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        spics->base = devm_ioremap_resource(&pdev->dev, res);
        if (IS_ERR(spics->base))
                return PTR_ERR(spics->base);

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help