summaryrefslogtreecommitdiff
path: root/target/linux/ixp4xx/patches-2.6.24/302-avila_gpio_device.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ixp4xx/patches-2.6.24/302-avila_gpio_device.patch')
-rw-r--r--target/linux/ixp4xx/patches-2.6.24/302-avila_gpio_device.patch50
1 files changed, 50 insertions, 0 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.24/302-avila_gpio_device.patch b/target/linux/ixp4xx/patches-2.6.24/302-avila_gpio_device.patch
new file mode 100644
index 0000000..faa08be
--- /dev/null
+++ b/target/linux/ixp4xx/patches-2.6.24/302-avila_gpio_device.patch
@@ -0,0 +1,50 @@
+Index: linux-2.6.24.2/arch/arm/mach-ixp4xx/avila-setup.c
+===================================================================
+--- linux-2.6.24.2.orig/arch/arm/mach-ixp4xx/avila-setup.c
++++ linux-2.6.24.2/arch/arm/mach-ixp4xx/avila-setup.c
+@@ -192,6 +192,24 @@ static struct platform_device avila_leds
+ };
+ #endif
+
++#ifdef CONFIG_GPIO_DEVICE
++static struct resource avila_gpio_resources[] = {
++ {
++ .name = "gpio",
++ .start = AVILA_GPIO_MASK,
++ .end = AVILA_GPIO_MASK,
++ .flags = 0,
++ },
++};
++
++static struct platform_device avila_gpio = {
++ .name = "GPIODEV",
++ .id = -1,
++ .num_resources = ARRAY_SIZE(avila_gpio_resources),
++ .resource = avila_gpio_resources,
++};
++#endif
++
+ static struct platform_device *avila_devices[] __initdata = {
+ &avila_i2c_gpio,
+ &avila_flash,
+@@ -199,6 +217,9 @@ static struct platform_device *avila_dev
+ #ifdef CONFIG_LEDS_IXP4XX
+ &avila_leds,
+ #endif
++#ifdef CONFIG_GPIO_DEVICE
++ &avila_gpio,
++#endif
+ };
+
+ static struct platform_device *avila_eth_devices[] = {
+Index: linux-2.6.24.2/include/asm-arm/arch-ixp4xx/avila.h
+===================================================================
+--- linux-2.6.24.2.orig/include/asm-arm/arch-ixp4xx/avila.h
++++ linux-2.6.24.2/include/asm-arm/arch-ixp4xx/avila.h
+@@ -38,3 +38,6 @@
+
+ /* User LED */
+ #define AVILA_LED_USER_GPIO 3
++
++/* gpio mask used by platform device */
++#define AVILA_GPIO_MASK (1 << 1) | (1 << 3) | (1 << 5) | (1 << 7) | (1 << 9)