Rewrite Alchemy GPIO support to be compatible with the Linux GPIO framework, both with and without gpiolib. For a list of justifications, see blurb in patch #2. Patches #3-#5 replace a few open-coded GPIO accesses in the board files with calls to the new gpio functions. Tested on DB1200 and a custom Au1200 platform. v6 - renamed gpio.[ch] to gpio-au1000.[ch], since this code only affects pre-Au1300 chips. Should make integration of Au1300 GPIO a bit easier. v5 - fix gpio1 bug in inlined gpio_get_value() v4 - GPIO2 shared interrupt management, styling. v3 - fixed thinko in alchemy_gpio2_set_value (16->32 bit) v2 - added gpio_to_irq and irq_to_gpio, some renaming. Manuel Lauss (5): Alchemy: remove unused au1000_gpio.h header Alchemy: rewrite GPIO support. Alchemy: mtx-1: use linux gpio api. Alchemy: xxs1500: use linux gpio api. Alchemy: devboards: convert to gpio calls. arch/mips/Makefile | 5 +- arch/mips/alchemy/Kconfig | 19 +- arch/mips/alchemy/common/Makefile | 11 +- arch/mips/alchemy/common/gpio-au1000.c | 130 +++++ arch/mips/alchemy/common/gpio.c | 201 ------- arch/mips/alchemy/common/reset.c | 5 +- arch/mips/alchemy/devboards/db1x00/board_setup.c | 8 +- arch/mips/alchemy/devboards/pb1000/board_setup.c | 10 +- arch/mips/alchemy/devboards/pb1100/board_setup.c | 3 +- arch/mips/alchemy/devboards/pb1500/board_setup.c | 10 +- arch/mips/alchemy/devboards/pm.c | 2 +- arch/mips/alchemy/mtx-1/board_setup.c | 24 +- arch/mips/alchemy/xxs1500/board_setup.c | 21 +- arch/mips/include/asm/mach-au1x00/au1000_gpio.h | 56 -- arch/mips/include/asm/mach-au1x00/gpio-au1000.h | 604 ++++++++++++++++++++++ arch/mips/include/asm/mach-au1x00/gpio.h | 35 +- 16 files changed, 818 insertions(+), 326 deletions(-) create mode 100644 arch/mips/alchemy/common/gpio-au1000.c delete mode 100644 arch/mips/alchemy/common/gpio.c delete mode 100644 arch/mips/include/asm/mach-au1x00/au1000_gpio.h create mode 100644 arch/mips/include/asm/mach-au1x00/gpio-au1000.h