This is a refactoring attempt that may not work as I can't test it (it compiles), but you sure can see what I want to happen in the SIRF driver. By registering the GPIO range from the gpiochip side we can get rid of the static globals and be a nice kernel citizen. See further Documentation/driver-model/design-patterns.txt. Linus Walleij (2): RFT: pinctrl: sirf: switch to using allocated state container RFT: pinctrl: sirf: move sgpio lock into state container drivers/pinctrl/sirf/pinctrl-sirf.c | 240 ++++++++++++++++++++---------------- 1 file changed, 134 insertions(+), 106 deletions(-) -- 1.9.0 -- To unsubscribe from this list: send the line "unsubscribe linux-gpio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html