drivers/gpio/gpio-aggregator.c | 343 +++++++++--- drivers/gpio/gpiolib.c | 29 +- drivers/pinctrl/Kconfig | 19 + drivers/pinctrl/Makefile | 1 + drivers/pinctrl/core.c | 29 + drivers/pinctrl/pinctrl-upboard.c | 1068 +++++++++++++++++++++++++++++++++++++ include/linux/gpio/driver.h | 51 +- include/linux/gpio/forwarder.h | 48 ++ include/linux/pinctrl/machine.h | 18 +- include/linux/string_choices.h | 6 + 10 files changed, 1534 insertions(+), 78 deletions(-)