[lkml]   [2012]   [Feb]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
SubjectRe: [PATCH V2 1/2] pinctrl: Introduce PINCTRL_STATE_DEFAULT, define hogs as that state
Aha now I see the problem here...

On Tue, Feb 28, 2012 at 12:55 AM, Stephen Warren <> wrote:

> This provides a single centralized name for the default state.
> -/* Hog a single map entry and add to the hoglist */
> -static int pinctrl_hog_map(struct pinctrl_dev *pctldev,
> -static int pinctrl_hog_maps(struct pinctrl_dev *pctldev)
> -       pinctrl_hog_maps(pctldev);
> +       pctldev->p = pinctrl_get(pctldev->dev, PINCTRL_STATE_DEFAULT);
> +       if (!IS_ERR(pctldev->p))
> +               pinctrl_enable(pctldev->p);

So what happens here is that my hogs will try to activate three different
functions in the same struct pinctrl *p.

This fails the sanity check in pinmux.c:

* If the function selector is already set, it needs to be identical,
* we support several groups with one function but not several
* functions with one or several groups in the same pinmux.
if (p->func_selector != UINT_MAX &&
p->func_selector != func_selector) {
"dual function defines in the map for device %s\n",
return -EINVAL;
p->func_selector = func_selector;

Since it is assumed that we can only activate one function at a time
for a given device handle (struct pinmux).

Which was sound, since we said that one single function can activate
several groups.

So you still need one struct pinmux *p for each hog or it won't work.

Allowing the struct pinmux to activate several functions at once is
another solution, but would defy the idea of having several groups
mapped to one function, then you could just as well use that instead,
and it would be a tad bit too many "many to many" relations in my

So I would revert back to using one handle per hog.

(Sorry if I misunderstood the problem though we're getting pretty
complex here...)

Linus Walleij
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to
More majordomo info at
Please read the FAQ at

 \ /
  Last update: 2012-02-29 17:43    [W:0.068 / U:4.920 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site