diff options
Diffstat (limited to 'drivers/mtd/nand/bcm47xxnflash/main.c')
-rw-r--r-- | drivers/mtd/nand/bcm47xxnflash/main.c | 38 |
1 files changed, 6 insertions, 32 deletions
diff --git a/drivers/mtd/nand/bcm47xxnflash/main.c b/drivers/mtd/nand/bcm47xxnflash/main.c index 7bae569fdc79..107445911315 100644 --- a/drivers/mtd/nand/bcm47xxnflash/main.c +++ b/drivers/mtd/nand/bcm47xxnflash/main.c | |||
@@ -29,11 +29,9 @@ static int bcm47xxnflash_probe(struct platform_device *pdev) | |||
29 | struct bcm47xxnflash *b47n; | 29 | struct bcm47xxnflash *b47n; |
30 | int err = 0; | 30 | int err = 0; |
31 | 31 | ||
32 | b47n = kzalloc(sizeof(*b47n), GFP_KERNEL); | 32 | b47n = devm_kzalloc(&pdev->dev, sizeof(*b47n), GFP_KERNEL); |
33 | if (!b47n) { | 33 | if (!b47n) |
34 | err = -ENOMEM; | 34 | return -ENOMEM; |
35 | goto out; | ||
36 | } | ||
37 | 35 | ||
38 | b47n->nand_chip.priv = b47n; | 36 | b47n->nand_chip.priv = b47n; |
39 | b47n->mtd.owner = THIS_MODULE; | 37 | b47n->mtd.owner = THIS_MODULE; |
@@ -48,22 +46,16 @@ static int bcm47xxnflash_probe(struct platform_device *pdev) | |||
48 | } | 46 | } |
49 | if (err) { | 47 | if (err) { |
50 | pr_err("Initialization failed: %d\n", err); | 48 | pr_err("Initialization failed: %d\n", err); |
51 | goto err_init; | 49 | return err; |
52 | } | 50 | } |
53 | 51 | ||
54 | err = mtd_device_parse_register(&b47n->mtd, probes, NULL, NULL, 0); | 52 | err = mtd_device_parse_register(&b47n->mtd, probes, NULL, NULL, 0); |
55 | if (err) { | 53 | if (err) { |
56 | pr_err("Failed to register MTD device: %d\n", err); | 54 | pr_err("Failed to register MTD device: %d\n", err); |
57 | goto err_dev_reg; | 55 | return err; |
58 | } | 56 | } |
59 | 57 | ||
60 | return 0; | 58 | return 0; |
61 | |||
62 | err_dev_reg: | ||
63 | err_init: | ||
64 | kfree(b47n); | ||
65 | out: | ||
66 | return err; | ||
67 | } | 59 | } |
68 | 60 | ||
69 | static int bcm47xxnflash_remove(struct platform_device *pdev) | 61 | static int bcm47xxnflash_remove(struct platform_device *pdev) |
@@ -85,22 +77,4 @@ static struct platform_driver bcm47xxnflash_driver = { | |||
85 | }, | 77 | }, |
86 | }; | 78 | }; |
87 | 79 | ||
88 | static int __init bcm47xxnflash_init(void) | 80 | module_platform_driver(bcm47xxnflash_driver); |
89 | { | ||
90 | int err; | ||
91 | |||
92 | err = platform_driver_register(&bcm47xxnflash_driver); | ||
93 | if (err) | ||
94 | pr_err("Failed to register bcm47xx nand flash driver: %d\n", | ||
95 | err); | ||
96 | |||
97 | return err; | ||
98 | } | ||
99 | |||
100 | static void __exit bcm47xxnflash_exit(void) | ||
101 | { | ||
102 | platform_driver_unregister(&bcm47xxnflash_driver); | ||
103 | } | ||
104 | |||
105 | module_init(bcm47xxnflash_init); | ||
106 | module_exit(bcm47xxnflash_exit); | ||