Hi,

On Wed, Feb 24, 2016 at 06:45:36PM +0530, Laxman Dewangan wrote:
> Use devm_pinctrl_register() for pin control registration.
> 
> Signed-off-by: Laxman Dewangan <ldewan...@nvidia.com>
> Cc: Mika Westerberg <mika.westerb...@linux.intel.com>
> Cc: Heikki Krogerus <heikki.kroge...@linux.intel.com>
> ---
>  drivers/pinctrl/intel/pinctrl-cherryview.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/pinctrl/intel/pinctrl-cherryview.c 
> b/drivers/pinctrl/intel/pinctrl-cherryview.c
> index 4251e07..1152b8a 100644
> --- a/drivers/pinctrl/intel/pinctrl-cherryview.c
> +++ b/drivers/pinctrl/intel/pinctrl-cherryview.c
> @@ -1526,7 +1526,8 @@ 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);

You missed one pinctrl_unregister() call inside chv_pinctrl_probe().
Check right below this point where chv_gpio_probe() is called.

> @@ -1548,7 +1549,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;
>  }
> -- 
> 2.1.4

Thanks,

-- 
heikki

Reply via email to