]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/mtd/nand/bcm47xxnflash/main.c
mtd: bcm47xxnflash: Use devm_kzalloc
[karo-tx-linux.git] / drivers / mtd / nand / bcm47xxnflash / main.c
index 2dc3aa632f6cc0d7cbf9f70992a9732f43781b64..107445911315cba4f78a509ab72e91677a1cfb18 100644 (file)
@@ -29,11 +29,9 @@ static int bcm47xxnflash_probe(struct platform_device *pdev)
        struct bcm47xxnflash *b47n;
        int err = 0;
 
-       b47n = kzalloc(sizeof(*b47n), GFP_KERNEL);
-       if (!b47n) {
-               err = -ENOMEM;
-               goto out;
-       }
+       b47n = devm_kzalloc(&pdev->dev, sizeof(*b47n), GFP_KERNEL);
+       if (!b47n)
+               return -ENOMEM;
 
        b47n->nand_chip.priv = b47n;
        b47n->mtd.owner = THIS_MODULE;
@@ -48,22 +46,16 @@ static int bcm47xxnflash_probe(struct platform_device *pdev)
        }
        if (err) {
                pr_err("Initialization failed: %d\n", err);
-               goto err_init;
+               return err;
        }
 
        err = mtd_device_parse_register(&b47n->mtd, probes, NULL, NULL, 0);
        if (err) {
                pr_err("Failed to register MTD device: %d\n", err);
-               goto err_dev_reg;
+               return err;
        }
 
        return 0;
-
-err_dev_reg:
-err_init:
-       kfree(b47n);
-out:
-       return err;
 }
 
 static int bcm47xxnflash_remove(struct platform_device *pdev)