}
 
        platform_set_drvdata(pdev, info);
-       info->pctl = pinctrl_register(&at91_pinctrl_desc, &pdev->dev, info);
+       info->pctl = devm_pinctrl_register(&pdev->dev, &at91_pinctrl_desc,
+                                          info);
 
        if (IS_ERR(info->pctl)) {
                dev_err(&pdev->dev, "could not register AT91 pinctrl driver\n");
        return 0;
 }
 
-static int at91_pinctrl_remove(struct platform_device *pdev)
-{
-       struct at91_pinctrl *info = platform_get_drvdata(pdev);
-
-       pinctrl_unregister(info->pctl);
-
-       return 0;
-}
-
 static int at91_gpio_get_direction(struct gpio_chip *chip, unsigned offset)
 {
        struct at91_gpio_chip *at91_gpio = gpiochip_get_data(chip);
                .of_match_table = at91_pinctrl_of_match,
        },
        .probe = at91_pinctrl_probe,
-       .remove = at91_pinctrl_remove,
 };
 
 static struct platform_driver * const drivers[] = {