aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mfd/intel_msic.c
diff options
context:
space:
mode:
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)