Re: [PATCH 0/2] pinctrl: common handling of generic pinconfig propsin dt

From: Linus Walleij
Date: Mon Jun 10 2013 - 09:39:33 EST

On Mon, Jun 10, 2013 at 3:06 PM, Heiko Stübner <heiko@xxxxxxxxx> wrote:
> Am Montag, 10. Juni 2013, 14:52:13 schrieb Linus Walleij:
>> On Sun, Jun 9, 2013 at 1:59 AM, Heiko Stübner <heiko@xxxxxxxxx> wrote:
>> > following your suggestions for a common handling of things like pulls in
>> > dt, I've come up with the following solution - hopefully I've gotten the
>> > correct meaning of your explanaitions.
>> >
>> > It handles all the pinconfigs that either ignore the argument, or have
>> > very simple one, like PIN_CONFIG_OUTPUT does.
>> OK patches applied. It needs some rough fixes like NULL check
>> on kmalloc() but it'll do for a starter.
> gah, sorry ... I have urge to crawl under a rock now for forgetting something
> this obvious ;-) .
> Apart from the NULL check what more did I mess up? Should I send a fixup patch
> or do you want to do it?

I can fix this.

But now I just wondered about one thing:

Does this design imply that we will never be able to support any
more than 32 bits (well, the number of bits in unsigned long)
i.e. 32 different generic pin configurations?

In that case I suspect this might not be so wise. :-(

What about instead of using bitstuffed numbers using some
representation similar to what can be found in

So instead of using <dt-bindings/pinctrl/pinconfig.h> and
enumerators it would be more like using node properties
like this:

my_config: my_config {
drive-push-pull = <6>;

It will make the device trees bigger for sure, but maybe more
readable as well?

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