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:30 -0500 |
commit | 1ab79a6ad5673d1e1646732c0ce984ce9d8e0fdc (patch) | |
tree | e35821f5aa58338e81f5560d7bd31a659304451f /drivers/gpio/gpio-dln2.c | |
parent | 7e9104ccb3c8be1bc4b9c62036465ac227c1c00d (diff) |
gpio: dln2: Use devm_gpiochip_add_data() for gpio registration
Use devm_gpiochip_add_data() for GPIO registration.
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Diffstat (limited to 'drivers/gpio/gpio-dln2.c')
-rw-r--r-- | drivers/gpio/gpio-dln2.c | 16 |
1 files changed, 4 insertions, 12 deletions
diff --git a/drivers/gpio/gpio-dln2.c b/drivers/gpio/gpio-dln2.c index e11a7d126e74..f7a60a441e95 100644 --- a/drivers/gpio/gpio-dln2.c +++ b/drivers/gpio/gpio-dln2.c | |||
@@ -479,40 +479,32 @@ static int dln2_gpio_probe(struct platform_device *pdev) | |||
479 | 479 | ||
480 | platform_set_drvdata(pdev, dln2); | 480 | platform_set_drvdata(pdev, dln2); |
481 | 481 | ||
482 | ret = gpiochip_add_data(&dln2->gpio, dln2); | 482 | ret = devm_gpiochip_add_data(dev, &dln2->gpio, dln2); |
483 | if (ret < 0) { | 483 | if (ret < 0) { |
484 | dev_err(dev, "failed to add gpio chip: %d\n", ret); | 484 | dev_err(dev, "failed to add gpio chip: %d\n", ret); |
485 | goto out; | 485 | return ret; |
486 | } | 486 | } |
487 | 487 | ||
488 | ret = gpiochip_irqchip_add(&dln2->gpio, &dln2_gpio_irqchip, 0, | 488 | ret = gpiochip_irqchip_add(&dln2->gpio, &dln2_gpio_irqchip, 0, |
489 | handle_simple_irq, IRQ_TYPE_NONE); | 489 | handle_simple_irq, IRQ_TYPE_NONE); |
490 | if (ret < 0) { | 490 | if (ret < 0) { |
491 | dev_err(dev, "failed to add irq chip: %d\n", ret); | 491 | dev_err(dev, "failed to add irq chip: %d\n", ret); |
492 | goto out_gpiochip_remove; | 492 | return ret; |
493 | } | 493 | } |
494 | 494 | ||
495 | ret = dln2_register_event_cb(pdev, DLN2_GPIO_CONDITION_MET_EV, | 495 | ret = dln2_register_event_cb(pdev, DLN2_GPIO_CONDITION_MET_EV, |
496 | dln2_gpio_event); | 496 | dln2_gpio_event); |
497 | if (ret) { | 497 | if (ret) { |
498 | dev_err(dev, "failed to register event cb: %d\n", ret); | 498 | dev_err(dev, "failed to register event cb: %d\n", ret); |
499 | goto out_gpiochip_remove; | 499 | return ret; |
500 | } | 500 | } |
501 | 501 | ||
502 | return 0; | 502 | return 0; |
503 | |||
504 | out_gpiochip_remove: | ||
505 | gpiochip_remove(&dln2->gpio); | ||
506 | out: | ||
507 | return ret; | ||
508 | } | 503 | } |
509 | 504 | ||
510 | static int dln2_gpio_remove(struct platform_device *pdev) | 505 | static int dln2_gpio_remove(struct platform_device *pdev) |
511 | { | 506 | { |
512 | struct dln2_gpio *dln2 = platform_get_drvdata(pdev); | ||
513 | |||
514 | dln2_unregister_event_cb(pdev, DLN2_GPIO_CONDITION_MET_EV); | 507 | dln2_unregister_event_cb(pdev, DLN2_GPIO_CONDITION_MET_EV); |
515 | gpiochip_remove(&dln2->gpio); | ||
516 | 508 | ||
517 | return 0; | 509 | return 0; |
518 | } | 510 | } |