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-25 18:26:06.000000000 +0100 +++ linux-2.6.23.14/arch/arm/mach-ixp4xx/avila-setup.c 2008-01-25 18:44:02.000000000 +0100 @@ -165,12 +165,34 @@ } }; +#ifdef CONFIG_LEDS_IXP4XX +static struct resource avila_led_resources[] = { + { + .name = "user", + .start = AVILA_LED_USER_GPIO, + .end = AVILA_LED_USER_GPIO, + .flags = IXP4XX_GPIO_LOW, + }, +}; + +static struct platform_device avila_leds = { + .name = "IXP4XX-GPIO-LED", + .id = -1, + .num_resources = ARRAY_SIZE(avila_led_resources), + .resource = avila_led_resources, +}; +#endif + + static struct platform_device *avila_devices[] __initdata = { &avila_i2c_gpio, &avila_flash, &avila_uart, &avila_eth[0], &avila_eth[1], +#ifdef CONFIG_LEDS_IXP4XX + &avila_leds, +#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-25 18:26:02.000000000 +0100 +++ linux-2.6.23.14/include/asm-arm/arch-ixp4xx/avila.h 2008-01-25 18:26:06.000000000 +0100 @@ -36,4 +36,5 @@ #define AVILA_PCI_INTC_PIN 9 #define AVILA_PCI_INTD_PIN 8 - +/* User LED */ +#define AVILA_LED_USER_GPIO 3