From 47d9fd249aa1cd6ecbba0bf191d6caa1f6c31ada Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Sun, 20 May 2007 19:46:50 +0000 Subject: [PATCH] Use the generic GPIO api for bcm947xx and ar7 (for now), thanks to Gabor Juhos git-svn-id: svn://svn.openwrt.org/openwrt/trunk@7285 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- target/linux/ar7-2.6/config/default | 1 + .../ar7-2.6/files/include/asm-generic/gpio.h | 25 ------------------- .../ar7-2.6/files/include/asm-mips/gpio.h | 6 ----- .../ar7-2.6/patches/100-board_support.patch | 3 ++- target/linux/brcm47xx-2.6/config/default | 1 + .../files/include/asm-generic/gpio.h | 25 ------------------- .../patches/100-board_support.patch | 3 ++- 7 files changed, 6 insertions(+), 58 deletions(-) diff --git a/target/linux/ar7-2.6/config/default b/target/linux/ar7-2.6/config/default index 6d0edccc2e..a01981c19b 100644 --- a/target/linux/ar7-2.6/config/default +++ b/target/linux/ar7-2.6/config/default @@ -192,6 +192,7 @@ CONFIG_SERIAL_8250_PCI=y # CONFIG_SOFT_WATCHDOG is not set # CONFIG_SPARSEMEM_STATIC is not set CONFIG_SWAP_IO_SPACE=y +CONFIG_GENERIC_GPIO=y CONFIG_SYS_HAS_CPU_MIPS32_R1=y CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y CONFIG_SYS_SUPPORTS_ARBIT_HZ=y diff --git a/target/linux/ar7-2.6/files/include/asm-generic/gpio.h b/target/linux/ar7-2.6/files/include/asm-generic/gpio.h index 2d0aab1d86..e69de29bb2 100644 --- a/target/linux/ar7-2.6/files/include/asm-generic/gpio.h +++ b/target/linux/ar7-2.6/files/include/asm-generic/gpio.h @@ -1,25 +0,0 @@ -#ifndef _ASM_GENERIC_GPIO_H -#define _ASM_GENERIC_GPIO_H - -/* platforms that don't directly support access to GPIOs through I2C, SPI, - * or other blocking infrastructure can use these wrappers. - */ - -static inline int gpio_cansleep(unsigned gpio) -{ - return 0; -} - -static inline int gpio_get_value_cansleep(unsigned gpio) -{ - might_sleep(); - return gpio_get_value(gpio); -} - -static inline void gpio_set_value_cansleep(unsigned gpio, int value) -{ - might_sleep(); - gpio_set_value(gpio, value); -} - -#endif /* _ASM_GENERIC_GPIO_H */ diff --git a/target/linux/ar7-2.6/files/include/asm-mips/gpio.h b/target/linux/ar7-2.6/files/include/asm-mips/gpio.h index 38a411ab62..e69de29bb2 100644 --- a/target/linux/ar7-2.6/files/include/asm-mips/gpio.h +++ b/target/linux/ar7-2.6/files/include/asm-mips/gpio.h @@ -1,6 +0,0 @@ -#ifndef _ASM_MIPS_GPIO_H -#define _ASM_MIPS_GPIO_H - -#include - -#endif /* _ASM_MIPS_GPIO_H */ diff --git a/target/linux/ar7-2.6/patches/100-board_support.patch b/target/linux/ar7-2.6/patches/100-board_support.patch index 50970e224e..b22d1a3644 100644 --- a/target/linux/ar7-2.6/patches/100-board_support.patch +++ b/target/linux/ar7-2.6/patches/100-board_support.patch @@ -1,7 +1,7 @@ diff -Nru linux-2.6.19.2/arch/mips/Kconfig linux-ar7/arch/mips/Kconfig --- linux-2.6.19.2/arch/mips/Kconfig 2006-12-12 02:32:53.000000000 +0700 +++ linux-ar7/arch/mips/Kconfig 2007-01-29 21:52:21.000000000 +0700 -@@ -12,6 +12,18 @@ +@@ -12,6 +12,19 @@ prompt "System type" default SGI_IP22 @@ -16,6 +16,7 @@ diff -Nru linux-2.6.19.2/arch/mips/Kconfig linux-ar7/arch/mips/Kconfig + select SYS_SUPPORTS_32BIT_KERNEL + select SYS_SUPPORTS_LITTLE_ENDIAN + select NEED_MULTIPLE_NODES ++ select GENERIC_GPIO + config MIPS_MTX1 bool "4G Systems MTX-1 board" diff --git a/target/linux/brcm47xx-2.6/config/default b/target/linux/brcm47xx-2.6/config/default index a92a0aa448..353c9d8f77 100644 --- a/target/linux/brcm47xx-2.6/config/default +++ b/target/linux/brcm47xx-2.6/config/default @@ -254,6 +254,7 @@ CONFIG_SSB_PCICORE_HOSTMODE=y CONFIG_SSB_PCIHOST=y CONFIG_SSB_SERIAL=y # CONFIG_SSB_SILENT is not set +CONFIG_GENERIC_GPIO=y CONFIG_SYS_HAS_CPU_MIPS32_R1=y CONFIG_SYS_SUPPORTS_32BIT_KERNEL=y CONFIG_SYS_SUPPORTS_ARBIT_HZ=y diff --git a/target/linux/brcm47xx-2.6/files/include/asm-generic/gpio.h b/target/linux/brcm47xx-2.6/files/include/asm-generic/gpio.h index 2d0aab1d86..e69de29bb2 100644 --- a/target/linux/brcm47xx-2.6/files/include/asm-generic/gpio.h +++ b/target/linux/brcm47xx-2.6/files/include/asm-generic/gpio.h @@ -1,25 +0,0 @@ -#ifndef _ASM_GENERIC_GPIO_H -#define _ASM_GENERIC_GPIO_H - -/* platforms that don't directly support access to GPIOs through I2C, SPI, - * or other blocking infrastructure can use these wrappers. - */ - -static inline int gpio_cansleep(unsigned gpio) -{ - return 0; -} - -static inline int gpio_get_value_cansleep(unsigned gpio) -{ - might_sleep(); - return gpio_get_value(gpio); -} - -static inline void gpio_set_value_cansleep(unsigned gpio, int value) -{ - might_sleep(); - gpio_set_value(gpio, value); -} - -#endif /* _ASM_GENERIC_GPIO_H */ diff --git a/target/linux/brcm47xx-2.6/patches/100-board_support.patch b/target/linux/brcm47xx-2.6/patches/100-board_support.patch index 963b05dba0..4d06dcdafe 100644 --- a/target/linux/brcm47xx-2.6/patches/100-board_support.patch +++ b/target/linux/brcm47xx-2.6/patches/100-board_support.patch @@ -12,7 +12,7 @@ diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig mainmenu "Linux/MIPS Kernel Configuration" menu "Machine selection" -@@ -222,6 +226,22 @@ +@@ -222,6 +226,23 @@ Members include the Acer PICA, MIPS Magnum 4000, MIPS Millenium and Olivetti M700-10 workstations. @@ -29,6 +29,7 @@ diff -urN linux.old/arch/mips/Kconfig linux.dev/arch/mips/Kconfig + select SSB_DRIVER_PCICORE + select SSB_PCICORE_HOSTMODE + select CFE ++ select GENERIC_GPIO + help + Support for BCM947xx based boards +