summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/pinctrl/core.c13
1 files changed, 6 insertions, 7 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c
index e2d4abb29d1a..fb3fbb76932e 100644
--- a/drivers/pinctrl/core.c
+++ b/drivers/pinctrl/core.c
@@ -518,13 +518,12 @@ static struct pinctrl *pinctrl_get_locked(struct device *dev, const char *name)
*/
pctldev = get_pinctrl_dev_from_devname(map->ctrl_dev_name);
if (!pctldev) {
- pr_warning("could not find a pinctrl device for pinmux function %s, fishy, they shall all have one\n",
- map->function);
- pr_warning("given pinctrl device name: %s",
- map->ctrl_dev_name);
-
- /* Continue to check the other mappings anyway... */
- continue;
+ dev_err(dev, "unknown pinctrl device %s in map entry",
+ map->ctrl_dev_name);
+ pinmux_put(p);
+ kfree(p);
+ /* Eventually, this should trigger deferred probe */
+ return ERR_PTR(-ENODEV);
}
pr_debug("in map, found pctldev %s to handle function %s",