pinctrl: cherryview: Use devm_pinctrl_register() for pinctrl registration
authorLaxman Dewangan <ldewangan@nvidia.com>
Wed, 24 Feb 2016 09:14:07 +0000 (14:44 +0530)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 20 Apr 2016 22:02:24 +0000 (00:02 +0200)
Use devm_pinctrl_register() for pin control registration and clean
error path.

Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Cc: Mika Westerberg <mika.westerberg@linux.intel.com>
Cc: Heikki Krogerus <heikki.krogerus@linux.intel.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/intel/pinctrl-cherryview.c

index 4251e0747a3a4a894eb0f643007cc531d094433c..ac4f564f1c3ef3b6ab46c9ec8e51e4d1cab2d7f4 100644 (file)
@@ -1526,17 +1526,16 @@ static int chv_pinctrl_probe(struct platform_device *pdev)
        pctrl->pctldesc.pins = pctrl->community->pins;
        pctrl->pctldesc.npins = pctrl->community->npins;
 
-       pctrl->pctldev = pinctrl_register(&pctrl->pctldesc, &pdev->dev, pctrl);
+       pctrl->pctldev = devm_pinctrl_register(&pdev->dev, &pctrl->pctldesc,
+                                              pctrl);
        if (IS_ERR(pctrl->pctldev)) {
                dev_err(&pdev->dev, "failed to register pinctrl driver\n");
                return PTR_ERR(pctrl->pctldev);
        }
 
        ret = chv_gpio_probe(pctrl, irq);
-       if (ret) {
-               pinctrl_unregister(pctrl->pctldev);
+       if (ret)
                return ret;
-       }
 
        platform_set_drvdata(pdev, pctrl);
 
@@ -1548,7 +1547,6 @@ static int chv_pinctrl_remove(struct platform_device *pdev)
        struct chv_pinctrl *pctrl = platform_get_drvdata(pdev);
 
        gpiochip_remove(&pctrl->chip);
-       pinctrl_unregister(pctrl->pctldev);
 
        return 0;
 }