openwrt/target/linux/ixp4xx/patches-2.6.25/301-avila_led.patch

49 lines
1.3 KiB
Diff

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[] = {