pinctrl: pinctrl-single: enhance to configure multiple pins of different modules
authorManjunathappa, Prakash <prakash.pm@ti.com>
Tue, 21 May 2013 14:08:00 +0000 (19:38 +0530)
committerLinus Walleij <linus.walleij@linaro.org>
Sun, 16 Jun 2013 09:56:52 +0000 (11:56 +0200)
commit4e7e8017a80e1810100c9b416b86e3baef900285
tree98f812edd3f0c787a5ac04c6b0304dce5bffd00f
parentac844b62713045557c834c8d5fe2863b8bbaf124
pinctrl: pinctrl-single: enhance to configure multiple pins of different modules

Add support to configure multiple pins in each register, existing
implementation added by [1] does not support full fledge multiple pin
configuration in single register, reports a pin clash when different
modules configure different bits of same register. The issue reported
and discussed here
http://www.spinics.net/lists/arm-kernel/msg235213.html

With pinctrl-single,bits-per-mux property specified, use function-mask
property to find out number pins to configure. Allocate and register
pin control functions based sub mask.

Tested on da850/omap-l138 EVM.
does not support variable submask for pins.
does not support pinconf.

[1] "pinctrl: pinctrl-single: Add pinctrl-single,bits type of mux"
(9e605cb68a21d5704839a192a46ebcf387773704),

Signed-off-by: Manjunathappa, Prakash <prakash.pm@ti.com>
Reported-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Tested-by: Lad, Prabhakar <prabhakar.csengg@gmail.com>
Acked-by: Haojian Zhuang <haojian.zhuang@gmail.com>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/pinctrl/pinctrl-single.txt
drivers/pinctrl/pinctrl-single.c