Commit 234699a8f3228754fa4c0dfe90170c8a043fedab
1 parent
0f4630c90b
Exists in
smarc-l5.0.0_1.0.0-ga
and in
5 other branches
leds: convert Sun Fire LED driver to devm_kzalloc() and cleanup error exit path
Cc: David S. Miller <davem@davemloft.net> Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
Showing 1 changed file with 6 additions and 15 deletions Side-by-side Diff
drivers/leds/leds-sunfire.c
... | ... | @@ -132,15 +132,13 @@ |
132 | 132 | if (pdev->num_resources != 1) { |
133 | 133 | printk(KERN_ERR PFX "Wrong number of resources %d, should be 1\n", |
134 | 134 | pdev->num_resources); |
135 | - err = -EINVAL; | |
136 | - goto out; | |
135 | + return -EINVAL; | |
137 | 136 | } |
138 | 137 | |
139 | - p = kzalloc(sizeof(*p), GFP_KERNEL); | |
138 | + p = devm_kzalloc(&pdev->dev, sizeof(*p), GFP_KERNEL); | |
140 | 139 | if (!p) { |
141 | 140 | printk(KERN_ERR PFX "Could not allocate struct sunfire_drvdata\n"); |
142 | - err = -ENOMEM; | |
143 | - goto out; | |
141 | + return -ENOMEM; | |
144 | 142 | } |
145 | 143 | |
146 | 144 | for (i = 0; i < NUM_LEDS_PER_BOARD; i++) { |
147 | 145 | |
... | ... | @@ -156,20 +154,15 @@ |
156 | 154 | if (err) { |
157 | 155 | printk(KERN_ERR PFX "Could not register %s LED\n", |
158 | 156 | lp->name); |
159 | - goto out_unregister_led_cdevs; | |
157 | + for (i--; i >= 0; i--) | |
158 | + led_classdev_unregister(&p->leds[i].led_cdev); | |
159 | + return err; | |
160 | 160 | } |
161 | 161 | } |
162 | 162 | |
163 | 163 | dev_set_drvdata(&pdev->dev, p); |
164 | 164 | |
165 | 165 | return 0; |
166 | - | |
167 | -out_unregister_led_cdevs: | |
168 | - for (i--; i >= 0; i--) | |
169 | - led_classdev_unregister(&p->leds[i].led_cdev); | |
170 | - kfree(p); | |
171 | -out: | |
172 | - return err; | |
173 | 166 | } |
174 | 167 | |
175 | 168 | static int __devexit sunfire_led_generic_remove(struct platform_device *pdev) |
... | ... | @@ -179,8 +172,6 @@ |
179 | 172 | |
180 | 173 | for (i = 0; i < NUM_LEDS_PER_BOARD; i++) |
181 | 174 | led_classdev_unregister(&p->leds[i].led_cdev); |
182 | - | |
183 | - kfree(p); | |
184 | 175 | |
185 | 176 | return 0; |
186 | 177 | } |