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.
Signed-off-by: Stephen Warren <[email protected]>
---
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 c5f76ad..8a91eb2 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,
--
1.7.0.4
On Tue, Feb 14, 2012 at 10:50:41AM -0700, Stephen Warren wrote:
> 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.
>
> Signed-off-by: Stephen Warren <[email protected]>
Acked-by: Dong Aisheng <[email protected]>
Regards
Dong Aisheng
> ---
> 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 c5f76ad..8a91eb2 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,
> --
> 1.7.0.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/
On Tue, Feb 14, 2012 at 6:50 PM, Stephen Warren <[email protected]> wrote:
> 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.
>
> Signed-off-by: Stephen Warren <[email protected]>
Nice catch! Applied with Dong's ACK.
Yours,
Linus Walleij