mtd: sst25l: Use devm_kzalloc
authorSachin Kamat <sachin.kamat@linaro.org>
Tue, 8 Oct 2013 09:21:34 +0000 (14:51 +0530)
committerBrian Norris <computersforpeace@gmail.com>
Thu, 7 Nov 2013 07:32:48 +0000 (23:32 -0800)
devm_kzalloc is device managed and makes code simpler.

Signed-off-by: Sachin Kamat <sachin.kamat@linaro.org>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/devices/sst25l.c

index 7cc70db97e593380526751b7cdee522dd40dd825..687bf27ec85076c2d735418714c12c537c2dc498 100644 (file)
@@ -364,7 +364,7 @@ static int sst25l_probe(struct spi_device *spi)
        if (!flash_info)
                return -ENODEV;
 
-       flash = kzalloc(sizeof(struct sst25l_flash), GFP_KERNEL);
+       flash = devm_kzalloc(&spi->dev, sizeof(*flash), GFP_KERNEL);
        if (!flash)
                return -ENOMEM;
 
@@ -402,10 +402,8 @@ static int sst25l_probe(struct spi_device *spi)
        ret = mtd_device_parse_register(&flash->mtd, NULL, NULL,
                                        data ? data->parts : NULL,
                                        data ? data->nr_parts : 0);
-       if (ret) {
-               kfree(flash);
+       if (ret)
                return -ENODEV;
-       }
 
        return 0;
 }
@@ -413,12 +411,8 @@ static int sst25l_probe(struct spi_device *spi)
 static int sst25l_remove(struct spi_device *spi)
 {
        struct sst25l_flash *flash = spi_get_drvdata(spi);
-       int ret;
 
-       ret = mtd_device_unregister(&flash->mtd);
-       if (ret == 0)
-               kfree(flash);
-       return ret;
+       return mtd_device_unregister(&flash->mtd);
 }
 
 static struct spi_driver sst25l_driver = {