mirror of https://gitee.com/openkylin/linux.git
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:
parent
aafd56fc79
commit
3567ee83c4
|
@ -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",
|
||||
},
|
||||
|
|
Loading…
Reference in New Issue