spi: spi-sh-hspi: drop frees of devm_ alloc'd data
authorJulia Lawall <Julia.Lawall@lip6.fr>
Sat, 1 Sep 2012 16:33:08 +0000 (18:33 +0200)
committerMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 5 Sep 2012 23:44:19 +0000 (07:44 +0800)
devm free functions should not have to be explicitly used.

A semantic match that finds this problem is as follows:
(http://coccinelle.lip6.fr/)

// <smpl>
@@
@@

(
* devm_kfree(...);
|
* devm_free_irq(...);
|
* devm_iounmap(...);
|
* devm_release_region(...);
|
* devm_release_mem_region(...);
)
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@lip6.fr>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
drivers/spi/spi-sh-hspi.c

index 934138c..796c077 100644 (file)
@@ -283,7 +283,7 @@ static int __devinit hspi_probe(struct platform_device *pdev)
        ret = spi_register_master(master);
        if (ret < 0) {
                dev_err(&pdev->dev, "spi_register_master error.\n");
-               goto error2;
+               goto error1;
        }
 
        pm_runtime_enable(&pdev->dev);
@@ -292,8 +292,6 @@ static int __devinit hspi_probe(struct platform_device *pdev)
 
        return 0;
 
- error2:
-       devm_iounmap(hspi->dev, hspi->addr);
  error1:
        clk_put(clk);
  error0:
@@ -310,7 +308,6 @@ static int __devexit hspi_remove(struct platform_device *pdev)
 
        clk_put(hspi->clk);
        spi_unregister_master(hspi->master);
-       devm_iounmap(hspi->dev, hspi->addr);
 
        return 0;
 }