diff options
author | Jingoo Han <jg1.han@samsung.com> | 2013-02-20 18:28:49 +0900 |
---|---|---|
committer | Samuel Ortiz <sameo@linux.intel.com> | 2013-04-08 17:25:24 +0200 |
commit | 54d34920ff6cefab0aa404fef841f9e6d3b6b9a1 (patch) | |
tree | 77271a79e36ce84d5d46d9ba1080a99e70dc911d | |
parent | bf5ea28a985f274446c5fd42f170c62eeb97ad67 (diff) | |
download | op-kernel-dev-54d34920ff6cefab0aa404fef841f9e6d3b6b9a1.zip op-kernel-dev-54d34920ff6cefab0aa404fef841f9e6d3b6b9a1.tar.gz |
mfd: intel_msic: Use devm_gpio_request_one()
Use devm_gpio_request_one() to make cleanup paths more simple.
Signed-off-by: Jingoo Han <jg1.han@samsung.com>
Signed-off-by: Samuel Ortiz <sameo@linux.intel.com>
-rw-r--r-- | drivers/mfd/intel_msic.c | 10 |
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/mfd/intel_msic.c b/drivers/mfd/intel_msic.c index 1804331..5be3b5e 100644 --- a/drivers/mfd/intel_msic.c +++ b/drivers/mfd/intel_msic.c @@ -323,7 +323,8 @@ static int intel_msic_init_devices(struct intel_msic *msic) if (pdata->ocd) { unsigned gpio = pdata->ocd->gpio; - ret = gpio_request_one(gpio, GPIOF_IN, "ocd_gpio"); + ret = devm_gpio_request_one(&pdev->dev, gpio, + GPIOF_IN, "ocd_gpio"); if (ret) { dev_err(&pdev->dev, "failed to register OCD GPIO\n"); return ret; @@ -332,7 +333,6 @@ static int intel_msic_init_devices(struct intel_msic *msic) ret = gpio_to_irq(gpio); if (ret < 0) { dev_err(&pdev->dev, "no IRQ number for OCD GPIO\n"); - gpio_free(gpio); return ret; } @@ -359,8 +359,6 @@ static int intel_msic_init_devices(struct intel_msic *msic) fail: mfd_remove_devices(&pdev->dev); - if (pdata->ocd) - gpio_free(pdata->ocd->gpio); return ret; } @@ -368,12 +366,8 @@ fail: static void intel_msic_remove_devices(struct intel_msic *msic) { struct platform_device *pdev = msic->pdev; - struct intel_msic_platform_data *pdata = pdev->dev.platform_data; mfd_remove_devices(&pdev->dev); - - if (pdata->ocd) - gpio_free(pdata->ocd->gpio); } static int intel_msic_probe(struct platform_device *pdev) |