aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaxman Dewangan <ldewangan@nvidia.com>2016-02-22 07:13:28 -0500
committerLaxman Dewangan <ldewangan@nvidia.com>2016-02-23 10:05:53 -0500
commitc87dc4e46e74e3859cb1abb1b734a13808246261 (patch)
tree4aa84b0b57af1882e0eae791c591867757424666
parent4a4925cf2bef99f2e6fff04b0f135dd400c119ac (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.c17
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
275err:
276 return ret;
277}
278
279static 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
287static struct platform_driver wm8994_gpio_driver = { 277static 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
294static int __init wm8994_gpio_init(void) 283static int __init wm8994_gpio_init(void)