aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/intel_msic.c
diff options
context:
space:
mode:
authorJingoo Han <jg1.han@samsung.com>2013-02-20 04:28:49 -0500
committerSamuel Ortiz <sameo@linux.intel.com>2013-04-08 11:25:24 -0400
commit54d34920ff6cefab0aa404fef841f9e6d3b6b9a1 (patch)
tree77271a79e36ce84d5d46d9ba1080a99e70dc911d /drivers/mfd/intel_msic.c
parentbf5ea28a985f274446c5fd42f170c62eeb97ad67 (diff)
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>
Diffstat (limited to 'drivers/mfd/intel_msic.c')
-rw-r--r--drivers/mfd/intel_msic.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/drivers/mfd/intel_msic.c b/drivers/mfd/intel_msic.c
index 1804331bd52c..5be3b5e13855 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)
323 if (pdata->ocd) { 323 if (pdata->ocd) {
324 unsigned gpio = pdata->ocd->gpio; 324 unsigned gpio = pdata->ocd->gpio;
325 325
326 ret = gpio_request_one(gpio, GPIOF_IN, "ocd_gpio"); 326 ret = devm_gpio_request_one(&pdev->dev, gpio,
327 GPIOF_IN, "ocd_gpio");
327 if (ret) { 328 if (ret) {
328 dev_err(&pdev->dev, "failed to register OCD GPIO\n"); 329 dev_err(&pdev->dev, "failed to register OCD GPIO\n");
329 return ret; 330 return ret;
@@ -332,7 +333,6 @@ static int intel_msic_init_devices(struct intel_msic *msic)
332 ret = gpio_to_irq(gpio); 333 ret = gpio_to_irq(gpio);
333 if (ret < 0) { 334 if (ret < 0) {
334 dev_err(&pdev->dev, "no IRQ number for OCD GPIO\n"); 335 dev_err(&pdev->dev, "no IRQ number for OCD GPIO\n");
335 gpio_free(gpio);
336 return ret; 336 return ret;
337 } 337 }
338 338
@@ -359,8 +359,6 @@ static int intel_msic_init_devices(struct intel_msic *msic)
359 359
360fail: 360fail:
361 mfd_remove_devices(&pdev->dev); 361 mfd_remove_devices(&pdev->dev);
362 if (pdata->ocd)
363 gpio_free(pdata->ocd->gpio);
364 362
365 return ret; 363 return ret;
366} 364}
@@ -368,12 +366,8 @@ fail:
368static void intel_msic_remove_devices(struct intel_msic *msic) 366static void intel_msic_remove_devices(struct intel_msic *msic)
369{ 367{
370 struct platform_device *pdev = msic->pdev; 368 struct platform_device *pdev = msic->pdev;
371 struct intel_msic_platform_data *pdata = pdev->dev.platform_data;
372 369
373 mfd_remove_devices(&pdev->dev); 370 mfd_remove_devices(&pdev->dev);
374
375 if (pdata->ocd)
376 gpio_free(pdata->ocd->gpio);
377} 371}
378 372
379static int intel_msic_probe(struct platform_device *pdev) 373static int intel_msic_probe(struct platform_device *pdev)