Skip to content
Permalink
Browse files

pinctrl: amd: Use devm_pinctrl_register() for pinctrl registration

Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
  • Loading branch information...
ldewangan authored and linusw committed Feb 24, 2016
1 parent 12ba408 commit 251e22abde21833b3d29577e4d8c7aaccd650eee
Showing with 3 additions and 6 deletions.
  1. +3 −6 drivers/pinctrl/pinctrl-amd.c
@@ -783,16 +783,16 @@ static int amd_gpio_probe(struct platform_device *pdev)
gpio_dev->ngroups = ARRAY_SIZE(kerncz_groups);

amd_pinctrl_desc.name = dev_name(&pdev->dev);
gpio_dev->pctrl = pinctrl_register(&amd_pinctrl_desc,
&pdev->dev, gpio_dev);
gpio_dev->pctrl = devm_pinctrl_register(&pdev->dev, &amd_pinctrl_desc,
gpio_dev);
if (IS_ERR(gpio_dev->pctrl)) {
dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
return PTR_ERR(gpio_dev->pctrl);
}

ret = gpiochip_add_data(&gpio_dev->gc, gpio_dev);
if (ret)
goto out1;
return ret;

ret = gpiochip_add_pin_range(&gpio_dev->gc, dev_name(&pdev->dev),
0, 0, TOTAL_NUMBER_OF_PINS);
@@ -825,8 +825,6 @@ static int amd_gpio_probe(struct platform_device *pdev)
out2:
gpiochip_remove(&gpio_dev->gc);

out1:
pinctrl_unregister(gpio_dev->pctrl);
return ret;
}

@@ -837,7 +835,6 @@ static int amd_gpio_remove(struct platform_device *pdev)
gpio_dev = platform_get_drvdata(pdev);

gpiochip_remove(&gpio_dev->gc);
pinctrl_unregister(gpio_dev->pctrl);

return 0;
}

0 comments on commit 251e22a

Please sign in to comment.
You can’t perform that action at this time.