summaryrefslogtreecommitdiffstats
path: root/target/linux/ixp4xx/patches-2.6.24/302-gpio_device.patch
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ixp4xx/patches-2.6.24/302-gpio_device.patch')
-rw-r--r--target/linux/ixp4xx/patches-2.6.24/302-gpio_device.patch49
1 files changed, 49 insertions, 0 deletions
diff --git a/target/linux/ixp4xx/patches-2.6.24/302-gpio_device.patch b/target/linux/ixp4xx/patches-2.6.24/302-gpio_device.patch
new file mode 100644
index 000000000..0a1831b4f
--- /dev/null
+++ b/target/linux/ixp4xx/patches-2.6.24/302-gpio_device.patch
@@ -0,0 +1,49 @@
+Index: linux-2.6.23.14/arch/arm/mach-ixp4xx/avila-setup.c
+===================================================================
+--- linux-2.6.23.14.orig/arch/arm/mach-ixp4xx/avila-setup.c 2008-01-26 02:59:30.000000000 +0100
++++ linux-2.6.23.14/arch/arm/mach-ixp4xx/avila-setup.c 2008-01-26 03:03:07.000000000 +0100
+@@ -183,6 +183,23 @@
+ };
+ #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,
+@@ -193,6 +210,9 @@
+ #ifdef CONFIG_LEDS_IXP4XX
+ &avila_leds,
+ #endif
++#ifdef CONFIG_GPIO_DEVICE
++ &avila_gpio,
++#endif
+ };
+
+ static char avila_rtc_probe[] __initdata = "rtc-ds1672.probe=0,0x68 ";
+Index: linux-2.6.23.14/include/asm-arm/arch-ixp4xx/avila.h
+===================================================================
+--- linux-2.6.23.14.orig/include/asm-arm/arch-ixp4xx/avila.h 2008-01-26 03:03:27.000000000 +0100
++++ linux-2.6.23.14/include/asm-arm/arch-ixp4xx/avila.h 2008-01-26 03:07:02.000000000 +0100
+@@ -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)