This is a complete rewrote of the original patch "MIPS: BCM47xx: use gpiolib" Instead of providing the GPIO driver in the arch code it is now moved into ssb and bcma and could also be used by other systems. The GPIO functions in drivers/ssb/embedded.c are still used by arch/mips/bcm47xx /wgt634u.c, but I am planing to write some code for baord detection and a driver for LED and the buttons, after that wgt634u.c could be removed. This is based on mips/master tree. Hauke Mehrtens (8): bcma: add locking around GPIO register accesses bcma: add bcma_chipco_gpio_pull{up,down} bcma: add comment to bcma_chipco_gpio_control bcma: add GPIO driver ssb: add ssb_chipco_gpio_pull{up,down} ssb: add locking around gpio register accesses ssb: add GPIO driver MIPS: BCM47XX: remove GPIO driver arch/mips/Kconfig | 2 +- arch/mips/bcm47xx/Kconfig | 2 + arch/mips/bcm47xx/Makefile | 2 +- arch/mips/bcm47xx/gpio.c | 102 ---------------- arch/mips/include/asm/mach-bcm47xx/gpio.h | 154 ++---------------------- drivers/bcma/Kconfig | 9 ++ drivers/bcma/Makefile | 1 + drivers/bcma/bcma_private.h | 10 ++ drivers/bcma/driver_chipcommon.c | 90 +++++++++++++- drivers/bcma/driver_gpio.c | 95 +++++++++++++++ drivers/bcma/main.c | 3 + drivers/ssb/Kconfig | 9 ++ drivers/ssb/Makefile | 1 + drivers/ssb/driver_chipcommon.c | 87 +++++++++++++- drivers/ssb/driver_extif.c | 52 +++++++- drivers/ssb/driver_gpio.c | 170 +++++++++++++++++++++++++++ drivers/ssb/main.c | 2 + drivers/ssb/ssb_private.h | 17 +++ include/linux/bcma/bcma_driver_chipcommon.h | 10 ++ include/linux/ssb/ssb.h | 4 + include/linux/ssb/ssb_driver_chipcommon.h | 3 + include/linux/ssb/ssb_driver_extif.h | 1 + 22 files changed, 559 insertions(+), 267 deletions(-) delete mode 100644 arch/mips/bcm47xx/gpio.c create mode 100644 drivers/bcma/driver_gpio.c create mode 100644 drivers/ssb/driver_gpio.c -- 1.7.10.4