diff options
author | Axel Lin <axel.lin@gmail.com> | 2012-09-01 23:58:07 -0400 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-09-04 03:25:13 -0400 |
commit | 718bc6e33f33914690ba1b757de2327da7522a87 (patch) | |
tree | 67c9808e15d950a5989e7e465e39c45e66ea9ac3 /drivers/gpio/gpio-wm831x.c | |
parent | c8554d32483ef543b9ad3e4349c8d80ea625dc04 (diff) |
gpio: wm831x: Convert to use devm_kzalloc API
Signed-off-by: Axel Lin <axel.lin@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Diffstat (limited to 'drivers/gpio/gpio-wm831x.c')
-rw-r--r-- | drivers/gpio/gpio-wm831x.c | 19 |
1 files changed, 5 insertions, 14 deletions
diff --git a/drivers/gpio/gpio-wm831x.c b/drivers/gpio/gpio-wm831x.c index e56a2165641c..b6eda35089d5 100644 --- a/drivers/gpio/gpio-wm831x.c +++ b/drivers/gpio/gpio-wm831x.c | |||
@@ -250,7 +250,8 @@ static int __devinit wm831x_gpio_probe(struct platform_device *pdev) | |||
250 | struct wm831x_gpio *wm831x_gpio; | 250 | struct wm831x_gpio *wm831x_gpio; |
251 | int ret; | 251 | int ret; |
252 | 252 | ||
253 | wm831x_gpio = kzalloc(sizeof(*wm831x_gpio), GFP_KERNEL); | 253 | wm831x_gpio = devm_kzalloc(&pdev->dev, sizeof(*wm831x_gpio), |
254 | GFP_KERNEL); | ||
254 | if (wm831x_gpio == NULL) | 255 | if (wm831x_gpio == NULL) |
255 | return -ENOMEM; | 256 | return -ENOMEM; |
256 | 257 | ||
@@ -265,30 +266,20 @@ static int __devinit wm831x_gpio_probe(struct platform_device *pdev) | |||
265 | 266 | ||
266 | ret = gpiochip_add(&wm831x_gpio->gpio_chip); | 267 | ret = gpiochip_add(&wm831x_gpio->gpio_chip); |
267 | if (ret < 0) { | 268 | if (ret < 0) { |
268 | dev_err(&pdev->dev, "Could not register gpiochip, %d\n", | 269 | dev_err(&pdev->dev, "Could not register gpiochip, %d\n", ret); |
269 | ret); | 270 | return ret; |
270 | goto err; | ||
271 | } | 271 | } |
272 | 272 | ||
273 | platform_set_drvdata(pdev, wm831x_gpio); | 273 | platform_set_drvdata(pdev, wm831x_gpio); |
274 | 274 | ||
275 | return ret; | 275 | return ret; |
276 | |||
277 | err: | ||
278 | kfree(wm831x_gpio); | ||
279 | return ret; | ||
280 | } | 276 | } |
281 | 277 | ||
282 | static int __devexit wm831x_gpio_remove(struct platform_device *pdev) | 278 | static int __devexit wm831x_gpio_remove(struct platform_device *pdev) |
283 | { | 279 | { |
284 | struct wm831x_gpio *wm831x_gpio = platform_get_drvdata(pdev); | 280 | struct wm831x_gpio *wm831x_gpio = platform_get_drvdata(pdev); |
285 | int ret; | ||
286 | |||
287 | ret = gpiochip_remove(&wm831x_gpio->gpio_chip); | ||
288 | if (ret == 0) | ||
289 | kfree(wm831x_gpio); | ||
290 | 281 | ||
291 | return ret; | 282 | return gpiochip_remove(&wm831x_gpio->gpio_chip); |
292 | } | 283 | } |
293 | 284 | ||
294 | static struct platform_driver wm831x_gpio_driver = { | 285 | static struct platform_driver wm831x_gpio_driver = { |