Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1339543

[PATCH 44/61] gpio: tb10x: Use devm_gpiochip_add_data() for gpio registration

From Laxman Dewangan <ldewangan@nvidia.com>
Newsgroups linux.kernel
Subject [PATCH 44/61] gpio: tb10x: Use devm_gpiochip_add_data() for gpio registration
Date 2016-02-22 15:30 +0100
Message-ID <r4ZEV-741-91@gated-at.bofh.it> (permalink)
References <r4ZER-741-3@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Use devm_gpiochip_add_data() for GPIO registration and clean the
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
---
 drivers/gpio/gpio-tb10x.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/drivers/gpio/gpio-tb10x.c b/drivers/gpio/gpio-tb10x.c
index 5eaec20..80b6959a 100644
--- a/drivers/gpio/gpio-tb10x.c
+++ b/drivers/gpio/gpio-tb10x.c
@@ -205,10 +205,10 @@ static int tb10x_gpio_probe(struct platform_device *pdev)
 	tb10x_gpio->gc.can_sleep	= false;
 
 
-	ret = gpiochip_add_data(&tb10x_gpio->gc, tb10x_gpio);
+	ret = devm_gpiochip_add_data(&pdev->dev, &tb10x_gpio->gc, tb10x_gpio);
 	if (ret < 0) {
 		dev_err(&pdev->dev, "Could not add gpiochip.\n");
-		goto fail_gpiochip_registration;
+		return ret;
 	}
 
 	platform_set_drvdata(pdev, tb10x_gpio);
@@ -219,7 +219,7 @@ static int tb10x_gpio_probe(struct platform_device *pdev)
 		ret = platform_get_irq(pdev, 0);
 		if (ret < 0) {
 			dev_err(&pdev->dev, "No interrupt specified.\n");
-			goto fail_get_irq;
+			return ret;
 		}
 
 		tb10x_gpio->gc.to_irq	= tb10x_gpio_to_irq;
@@ -229,14 +229,13 @@ static int tb10x_gpio_probe(struct platform_device *pdev)
 				IRQF_TRIGGER_NONE | IRQF_SHARED,
 				dev_name(&pdev->dev), tb10x_gpio);
 		if (ret != 0)
-			goto fail_request_irq;
+			return ret;
 
 		tb10x_gpio->domain = irq_domain_add_linear(dn,
 						tb10x_gpio->gc.ngpio,
 						&irq_generic_chip_ops, NULL);
 		if (!tb10x_gpio->domain) {
-			ret = -ENOMEM;
-			goto fail_irq_domain;
+			return -ENOMEM;
 		}
 
 		ret = irq_alloc_domain_generic_chips(tb10x_gpio->domain,
@@ -244,7 +243,7 @@ static int tb10x_gpio_probe(struct platform_device *pdev)
 				handle_edge_irq, IRQ_NOREQUEST, IRQ_NOPROBE,
 				IRQ_GC_INIT_MASK_CACHE);
 		if (ret)
-			goto fail_irq_domain;
+			return ret;
 
 		gc = tb10x_gpio->domain->gc->gc[0];
 		gc->reg_base                         = tb10x_gpio->base;
@@ -258,14 +257,6 @@ static int tb10x_gpio_probe(struct platform_device *pdev)
 	}
 
 	return 0;
-
-fail_irq_domain:
-fail_request_irq:
-fail_get_irq:
-	gpiochip_remove(&tb10x_gpio->gc);
-fail_gpiochip_registration:
-fail_ioremap:
-	return ret;
 }
 
 static int tb10x_gpio_remove(struct platform_device *pdev)
@@ -278,7 +269,6 @@ static int tb10x_gpio_remove(struct platform_device *pdev)
 		kfree(tb10x_gpio->domain->gc);
 		irq_domain_remove(tb10x_gpio->domain);
 	}
-	gpiochip_remove(&tb10x_gpio->gc);
 
 	return 0;
 }
-- 
2.1.4

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCH 00/61] gpio: Add and use devm_gpiochip_add_data() Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 35/61] gpio: palmas: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 21/61] gpio: generic: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 50/61] gpio: tps65912: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 03/61] gpio: Add missing devm_gpio_ wrapper in devres.txt Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 11/61] gpio: bcm-kona: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
    Re: [PATCH 11/61] gpio: bcm-kona: Use devm_gpiochip_add_data() for  gpio registration Ray Jui <ray.jui@broadcom.com> - 2016-02-22 18:20 +0100
  [PATCH 39/61] gpio: spear-spics: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 29/61] gpio: moxart: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 28/61] gpio: mc9s08dz60: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 51/61] gpio: ts4800: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 49/61] gpio: tps65910: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 60/61] gpio: xgene-sb: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 12/61] gpio: clps711x: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 27/61] gpio: lynxpoint: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 06/61] gpio: adp5520: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 31/61] gpio: mxc: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 44/61] gpio: tb10x: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 58/61] gpio: wm8350: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
    Re: [PATCH 58/61] gpio: wm8350: Use devm_gpiochip_add_data() for  gpio registration Charles Keepax <ckeepax@opensource.wolfsonmicro.com> - 2016-02-22 17:40 +0100
  [PATCH 40/61] gpio: sta2x11: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 46/61] gpio: tegra: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
    Re: [PATCH 46/61] gpio: tegra: Use devm_gpiochip_add_data() for gpio  registration Thierry Reding <thierry.reding@gmail.com> - 2016-02-23 17:40 +0100
  [PATCH 18/61] gpio: ep93xx: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 25/61] gpio: lp3943: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 33/61] gpio: pca953x: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 17/61] gpio: dln2: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 05/61] gpio: adnp: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 32/61] gpio: octeon: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 57/61] gpio: wm8350: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
    Re: [PATCH 57/61] gpio: wm8350: Use devm_gpiochip_add_data() for  gpio registration Charles Keepax <ckeepax@opensource.wolfsonmicro.com> - 2016-02-22 17:40 +0100
  [PATCH 22/61] gpio: iop: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 55/61] gpio: viperboard: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 43/61] gpio: syscon: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 15/61] gpio: da9052: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 02/61] gpio: Add resource management devm_gpio_chip_{add_data,remove} Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 34/61] gpio: pcf857x: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 59/61] gpio: wm8994: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
    Re: [PATCH 59/61] gpio: wm8994: Use devm_gpiochip_add_data() for  gpio registration Charles Keepax <ckeepax@opensource.wolfsonmicro.com> - 2016-02-22 17:40 +0100
  [PATCH 16/61] gpio: da9055: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:30 +0100
  [PATCH 20/61] gpio: ge: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  [PATCH 38/61] gpio: sch: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  [PATCH 26/61] gpio: lpc32xx: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  [PATCH 19/61] gpio: f7188x: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  [PATCH 45/61] gpio: tc3589x: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  [PATCH 48/61] gpio: tps6586x: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  [PATCH 41/61] gpio: stp-xway: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  [PATCH 36/61] gpio: rc5t583: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  [PATCH 23/61] gpio: janz-ttl: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:40 +0100
  Re: [PATCH 00/61] gpio: Add and use devm_gpiochip_add_data() Linus Walleij <linus.walleij@linaro.org> - 2016-02-22 15:50 +0100
    Re: [PATCH 00/61] gpio: Add and use devm_gpiochip_add_data() Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-23 10:20 +0100
      Re: [PATCH 00/61] gpio: Add and use devm_gpiochip_add_data() Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-23 16:30 +0100
        Re: [PATCH 00/61] gpio: Add and use devm_gpiochip_add_data() Linus Walleij <linus.walleij@linaro.org> - 2016-02-25 14:30 +0100
          Re: [PATCH 00/61] gpio: Add and use devm_gpiochip_add_data() Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-28 15:50 +0100
  [PATCH 07/61] gpio: adp5588: Use devm_gpiochip_add_data() for gpio registration Laxman Dewangan <ldewangan@nvidia.com> - 2016-02-22 15:50 +0100

csiph-web