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 @@ -36,4 +36,5 @@ #define AVILA_PCI_INTC_PIN 9 #define AVILA_PCI_INTD_PIN 8 - +/* User LED */ +#define AVILA_LED_USER_GPIO 3 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 @@ -174,10 +174,31 @@ static struct platform_device avila_eth[ } }; +#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_uart, +#ifdef CONFIG_LEDS_IXP4XX + &avila_leds, +#endif }; static struct platform_device *avila_eth_devices[] = {