summaryrefslogtreecommitdiff
path: root/drivers/pinctrl/cirrus/pinctrl-madera-core.c
diff options
context:
space:
mode:
authorThomas Bogendoerfer <tsbogend@alpha.franken.de>2020-03-30 13:31:37 +0200
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>2020-03-30 13:31:37 +0200
commitba15533275dd70238b523417d222d43fb40dac9d (patch)
treee97f6b804994d20ce476dc5a123fc074799e9584 /drivers/pinctrl/cirrus/pinctrl-madera-core.c
parentf75410a406e934e4cf31e0a7ec151799a6bf38cf (diff)
parent7111951b8d4973bda27ff663f2cf18b663d15b48 (diff)
Merge tag 'v5.6' into mips-next
Linux 5.6
Diffstat (limited to 'drivers/pinctrl/cirrus/pinctrl-madera-core.c')
-rw-r--r--drivers/pinctrl/cirrus/pinctrl-madera-core.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/drivers/pinctrl/cirrus/pinctrl-madera-core.c b/drivers/pinctrl/cirrus/pinctrl-madera-core.c
index 7b6409ef553c..dce2626384a9 100644
--- a/drivers/pinctrl/cirrus/pinctrl-madera-core.c
+++ b/drivers/pinctrl/cirrus/pinctrl-madera-core.c
@@ -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",
},