pinctrl: madera: Add missing call to pinctrl_unregister_mappings

pinctrl_register_mappings is called in the pdata case, however a call to
pinctrl_unregister_mappings is missing causing the mappings to be leaked
on driver unbind. Add the missing call to correct this issue.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20200228154214.13916-1-ckeepax@opensource.cirrus.com
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
This commit is contained in:
Charles Keepax 2020-02-28 15:42:14 +00:00 committed by Linus Walleij
parent aafd56fc79
commit 3567ee83c4
1 changed files with 13 additions and 0 deletions

View File

@ -1073,13 +1073,26 @@ static int madera_pin_probe(struct platform_device *pdev)
return ret;
}
platform_set_drvdata(pdev, priv);
dev_dbg(priv->dev, "pinctrl probed ok\n");
return 0;
}
static int madera_pin_remove(struct platform_device *pdev)
{
struct madera_pin_private *priv = platform_get_drvdata(pdev);
if (priv->madera->pdata.gpio_configs)
pinctrl_unregister_mappings(priv->madera->pdata.gpio_configs);
return 0;
}
static struct platform_driver madera_pin_driver = {
.probe = madera_pin_probe,
.remove = madera_pin_remove,
.driver = {
.name = "madera-pinctrl",
},