diff options
author | Laxman Dewangan <ldewangan@nvidia.com> | 2016-02-22 07:13:28 -0500 |
---|---|---|
committer | Laxman Dewangan <ldewangan@nvidia.com> | 2016-02-23 10:05:53 -0500 |
commit | c87dc4e46e74e3859cb1abb1b734a13808246261 (patch) | |
tree | 4aa84b0b57af1882e0eae791c591867757424666 | |
parent | 4a4925cf2bef99f2e6fff04b0f135dd400c119ac (diff) |
gpio: wm8994: Use devm_gpiochip_add_data() for gpio registration
Use devm_gpiochip_add_data() for GPIO registration and remove the
need of driver callback .remove.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: patches@opensource.wolfsonmicro.com
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
-rw-r--r-- | drivers/gpio/gpio-wm8994.c | 17 |
1 files changed, 3 insertions, 14 deletions
diff --git a/drivers/gpio/gpio-wm8994.c b/drivers/gpio/gpio-wm8994.c index 3ae4c1597494..b089df99a0d0 100644 --- a/drivers/gpio/gpio-wm8994.c +++ b/drivers/gpio/gpio-wm8994.c | |||
@@ -261,34 +261,23 @@ static int wm8994_gpio_probe(struct platform_device *pdev) | |||
261 | else | 261 | else |
262 | wm8994_gpio->gpio_chip.base = -1; | 262 | wm8994_gpio->gpio_chip.base = -1; |
263 | 263 | ||
264 | ret = gpiochip_add_data(&wm8994_gpio->gpio_chip, wm8994_gpio); | 264 | ret = devm_gpiochip_add_data(&pdev->dev, &wm8994_gpio->gpio_chip, |
265 | wm8994_gpio); | ||
265 | if (ret < 0) { | 266 | if (ret < 0) { |
266 | dev_err(&pdev->dev, "Could not register gpiochip, %d\n", | 267 | dev_err(&pdev->dev, "Could not register gpiochip, %d\n", |
267 | ret); | 268 | ret); |
268 | goto err; | 269 | return ret; |
269 | } | 270 | } |
270 | 271 | ||
271 | platform_set_drvdata(pdev, wm8994_gpio); | 272 | platform_set_drvdata(pdev, wm8994_gpio); |
272 | 273 | ||
273 | return ret; | 274 | return ret; |
274 | |||
275 | err: | ||
276 | return ret; | ||
277 | } | ||
278 | |||
279 | static int wm8994_gpio_remove(struct platform_device *pdev) | ||
280 | { | ||
281 | struct wm8994_gpio *wm8994_gpio = platform_get_drvdata(pdev); | ||
282 | |||
283 | gpiochip_remove(&wm8994_gpio->gpio_chip); | ||
284 | return 0; | ||
285 | } | 275 | } |
286 | 276 | ||
287 | static struct platform_driver wm8994_gpio_driver = { | 277 | static struct platform_driver wm8994_gpio_driver = { |
288 | .driver.name = "wm8994-gpio", | 278 | .driver.name = "wm8994-gpio", |
289 | .driver.owner = THIS_MODULE, | 279 | .driver.owner = THIS_MODULE, |
290 | .probe = wm8994_gpio_probe, | 280 | .probe = wm8994_gpio_probe, |
291 | .remove = wm8994_gpio_remove, | ||
292 | }; | 281 | }; |
293 | 282 | ||
294 | static int __init wm8994_gpio_init(void) | 283 | static int __init wm8994_gpio_init(void) |