diff options
Diffstat (limited to 'drivers/mfd/intel_msic.c')
-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 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 | ||
360 | fail: | 360 | fail: |
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: | |||
368 | static void intel_msic_remove_devices(struct intel_msic *msic) | 366 | static 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 | ||
379 | static int intel_msic_probe(struct platform_device *pdev) | 373 | static int intel_msic_probe(struct platform_device *pdev) |