return PTR_ERR(pmx->regs[i]);
        }
 
-       pmx->pctl = pinctrl_register(&tegra_pinctrl_desc, &pdev->dev, pmx);
+       pmx->pctl = devm_pinctrl_register(&pdev->dev, &tegra_pinctrl_desc, pmx);
        if (IS_ERR(pmx->pctl)) {
                dev_err(&pdev->dev, "Couldn't register pinctrl driver\n");
                return PTR_ERR(pmx->pctl);
        return 0;
 }
 EXPORT_SYMBOL_GPL(tegra_pinctrl_probe);
-
-int tegra_pinctrl_remove(struct platform_device *pdev)
-{
-       struct tegra_pmx *pmx = platform_get_drvdata(pdev);
-
-       pinctrl_unregister(pmx->pctl);
-
-       return 0;
-}
-EXPORT_SYMBOL_GPL(tegra_pinctrl_remove);
 
 
 int tegra_pinctrl_probe(struct platform_device *pdev,
                        const struct tegra_pinctrl_soc_data *soc_data);
-int tegra_pinctrl_remove(struct platform_device *pdev);
-
 #endif
 
                .of_match_table = tegra114_pinctrl_of_match,
        },
        .probe = tegra114_pinctrl_probe,
-       .remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra114_pinctrl_driver);
 
 
                .of_match_table = tegra124_pinctrl_of_match,
        },
        .probe = tegra124_pinctrl_probe,
-       .remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra124_pinctrl_driver);
 
 
                .of_match_table = tegra20_pinctrl_of_match,
        },
        .probe = tegra20_pinctrl_probe,
-       .remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra20_pinctrl_driver);
 
 
                .of_match_table = tegra210_pinctrl_of_match,
        },
        .probe = tegra210_pinctrl_probe,
-       .remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra210_pinctrl_driver);
 
 
                .of_match_table = tegra30_pinctrl_of_match,
        },
        .probe = tegra30_pinctrl_probe,
-       .remove = tegra_pinctrl_remove,
 };
 module_platform_driver(tegra30_pinctrl_driver);