Kaynağa Gözat

mtd: sst25l: Use devm_kzalloc

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>
Sachin Kamat 12 yıl önce
ebeveyn
işleme
b38be28814
1 değiştirilmiş dosya ile 3 ekleme ve 9 silme
  1. 3 9
      drivers/mtd/devices/sst25l.c

+ 3 - 9
drivers/mtd/devices/sst25l.c

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