spi/sirf: simplify use of devm_ioremap_resource
authorJulia Lawall <Julia.Lawall@lip6.fr>
Wed, 14 Aug 2013 09:11:29 +0000 (11:11 +0200)
committerMark Brown <broonie@linaro.org>
Wed, 14 Aug 2013 18:08:44 +0000 (19:08 +0100)
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: Barry Song <Baohua.Song@csr.com>
Signed-off-by: Mark Brown <broonie@linaro.org>
drivers/spi/spi-sirf.c

index 62c92c3..546fae2 100644 (file)
@@ -588,12 +588,6 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
        platform_set_drvdata(pdev, master);
        sspi = spi_master_get_devdata(master);
 
-       mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
-       if (!mem_res) {
-               dev_err(&pdev->dev, "Unable to get IO resource\n");
-               ret = -ENODEV;
-               goto free_master;
-       }
        master->num_chipselect = num_cs;
 
        for (i = 0; i < master->num_chipselect; i++) {
@@ -620,6 +614,7 @@ static int spi_sirfsoc_probe(struct platform_device *pdev)
                }
        }
 
+       mem_res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
        sspi->base = devm_ioremap_resource(&pdev->dev, mem_res);
        if (IS_ERR(sspi->base)) {
                ret = PTR_ERR(sspi->base);