diff options
author | Stephen Warren <swarren@nvidia.com> | 2012-02-14 10:50:41 -0700 |
---|---|---|
committer | Linus Walleij <linus.walleij@linaro.org> | 2012-02-22 17:59:30 +0100 |
commit | 449d16b025ac38c7b62af5fb6ef4b833d78e690d (patch) | |
tree | 93afa4011913fc6817a662862cc51983c490d0ca | |
parent | 5c9bdc3f52d20c9bc6c2552c6d3ec5bfa4119f75 (diff) | |
download | linux-stable-449d16b025ac38c7b62af5fb6ef4b833d78e690d.tar.gz linux-stable-449d16b025ac38c7b62af5fb6ef4b833d78e690d.tar.bz2 linux-stable-449d16b025ac38c7b62af5fb6ef4b833d78e690d.zip |
pinctrl: make "hog" mapping table entries work
Commit 77a5988 "pinctrl: changes hog mechanism to be self-referential"
modified the way "hog" entries were represented in the mapping table.
However, the new representation failed some error checks in
pinctrl_hog_map(). Remove the now-bogus error-check, and fix the code
to solve the issue the error-check used to avoid.
Acked-by: Dong Aisheng <dong.aisheng@linaro.org>
Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | drivers/pinctrl/core.c | 14 |
1 files changed, 1 insertions, 13 deletions
diff --git a/drivers/pinctrl/core.c b/drivers/pinctrl/core.c index c5f76ad5a8c5..8a91eb24eb52 100644 --- a/drivers/pinctrl/core.c +++ b/drivers/pinctrl/core.c @@ -725,23 +725,11 @@ static int pinctrl_hog_map(struct pinctrl_dev *pctldev, struct pinctrl *p; int ret; - if (map->dev_name) { - /* - * TODO: the day we have device tree support, we can - * traverse the device tree and hog to specific device nodes - * without any problems, so then we can hog pinmuxes for - * all devices that just want a static pin mux at this point. - */ - dev_err(pctldev->dev, "map %s wants to hog a non-system pinmux, this is not going to work\n", - map->name); - return -EINVAL; - } - hog = kzalloc(sizeof(struct pinctrl_hog), GFP_KERNEL); if (!hog) return -ENOMEM; - p = pinctrl_get(NULL, map->name); + p = pinctrl_get(pctldev->dev, map->name); if (IS_ERR(p)) { kfree(hog); dev_err(pctldev->dev, |