pinctrl: samsung: Use one GPIO chip per pin bank
authorTomasz Figa <t.figa@samsung.com>
Thu, 11 Oct 2012 08:11:17 +0000 (10:11 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 15 Oct 2012 07:10:12 +0000 (09:10 +0200)
commitd3a7b9e3a168df881a0ae3bd0d582f44a5d5aca3
treea6942be03dde1b58d2fe49f3c246f97ed3739d93
parent595be7268a85735d229451821b56f122d09d7bdc
pinctrl: samsung: Use one GPIO chip per pin bank

This patch modifies the pinctrl-samsung driver to register one GPIO chip
per pin bank, instead of a single chip for all pin banks of the
controller.

It simplifies GPIO accesses a lot (constant time instead of looping
through the list of banks to find the right one) and should have a good
effect on performance of any bit-banging driver.

In addition it allows to reference GPIO pins by a phandle to the bank
node and a local pin offset inside of the bank (similar to previous
gpiolib driver), which is more clear and readable than using indices
relative to the whole pin controller.

Example:
device {
/* ... */
gpios = <&gpk0 4 0>;
/* ... */
};

Signed-off-by: Tomasz Figa <t.figa@samsung.com>
Reviewed-by: Kyungmin Park <kyungmin.park@samsung.com>
Acked-by: Thomas Abraham <thomas.abraham@linaro.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/pinctrl/pinctrl-samsung.c
drivers/pinctrl/pinctrl-samsung.h