aee0eeeeca2c4541846f021639f41e36c1bcc3c1
[openwrt/svn-archive/archive.git] / target / linux / ixp4xx / patches-2.6.25 / 302-avila_gpio_device.patch
1 Index: linux-2.6.24.2/arch/arm/mach-ixp4xx/avila-setup.c
2 ===================================================================
3 --- linux-2.6.24.2.orig/arch/arm/mach-ixp4xx/avila-setup.c
4 +++ linux-2.6.24.2/arch/arm/mach-ixp4xx/avila-setup.c
5 @@ -192,10 +192,28 @@ static struct platform_device avila_leds
6 .dev.platform_data = &avila_leds_data,
7 };
8
9 +static struct resource avila_gpio_resources[] = {
10 + {
11 + .name = "gpio",
12 + /* FIXME: gpio mask should be model specific */
13 + .start = AVILA_GPIO_MASK,
14 + .end = AVILA_GPIO_MASK,
15 + .flags = 0,
16 + },
17 +};
18 +
19 +static struct platform_device avila_gpio = {
20 + .name = "GPIODEV",
21 + .id = -1,
22 + .num_resources = ARRAY_SIZE(avila_gpio_resources),
23 + .resource = avila_gpio_resources,
24 +};
25 +
26 static struct platform_device *avila_devices[] __initdata = {
27 &avila_i2c_gpio,
28 &avila_flash,
29 - &avila_uart
30 + &avila_uart,
31 + &avila_gpio,
32 };
33
34 static char avila_rtc_probe[] __initdata = "rtc-ds1672.probe=0,0x68 ";
35 Index: linux-2.6.24.2/include/asm-arm/arch-ixp4xx/avila.h
36 ===================================================================
37 --- linux-2.6.24.2.orig/include/asm-arm/arch-ixp4xx/avila.h
38 +++ linux-2.6.24.2/include/asm-arm/arch-ixp4xx/avila.h
39 @@ -39,3 +39,6 @@
40 /* User LEDs */
41 #define AVILA_GW23XX_LED_USER_GPIO 3
42 #define AVILA_GW23X7_LED_USER_GPIO 4
43 +
44 +/* gpio mask used by platform device */
45 +#define AVILA_GPIO_MASK (1 << 1) | (1 << 3) | (1 << 5) | (1 << 7) | (1 << 9)