X-Git-Url: https://git.rohieb.name/openwrt.git/blobdiff_plain/85b39abe7d82d9b6b3ee3c7bc9f9d94fbb65beff..dcb392448ba2c6660a0e0c85ff6f1389e9b382d4:/target/linux/ixp4xx/patches-2.6.24/301-avila_led.patch diff --git a/target/linux/ixp4xx/patches-2.6.24/301-avila_led.patch b/target/linux/ixp4xx/patches-2.6.24/301-avila_led.patch index b82ed7df5..81282fac9 100644 --- a/target/linux/ixp4xx/patches-2.6.24/301-avila_led.patch +++ b/target/linux/ixp4xx/patches-2.6.24/301-avila_led.patch @@ -1,50 +1,116 @@ -Index: linux-2.6.23.14/arch/arm/mach-ixp4xx/avila-setup.c +Index: linux-2.6.24.7/include/asm-arm/arch-ixp4xx/avila.h =================================================================== ---- 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 @@ - } +--- linux-2.6.24.7.orig/include/asm-arm/arch-ixp4xx/avila.h ++++ linux-2.6.24.7/include/asm-arm/arch-ixp4xx/avila.h +@@ -36,4 +36,6 @@ + #define AVILA_PCI_INTC_PIN 9 + #define AVILA_PCI_INTD_PIN 8 + +- ++/* User LEDs */ ++#define AVILA_GW23XX_LED_USER_GPIO 3 ++#define AVILA_GW23X7_LED_USER_GPIO 4 +Index: linux-2.6.24.7/arch/arm/mach-ixp4xx/avila-setup.c +=================================================================== +--- linux-2.6.24.7.orig/arch/arm/mach-ixp4xx/avila-setup.c ++++ linux-2.6.24.7/arch/arm/mach-ixp4xx/avila-setup.c +@@ -26,6 +26,7 @@ + # include + #endif + ++#include + #include + + #include +@@ -172,6 +173,25 @@ static struct platform_device avila_npec + .dev.platform_data = &avila_npec_data, }; -+#ifdef CONFIG_LEDS_IXP4XX -+static struct resource avila_led_resources[] = { ++static struct gpio_led avila_leds[] = { + { -+ .name = "user", -+ .start = AVILA_LED_USER_GPIO, -+ .end = AVILA_LED_USER_GPIO, -+ .flags = IXP4XX_GPIO_LOW, -+ }, ++ .name = "user", /* green led */ ++ .gpio = AVILA_GW23XX_LED_USER_GPIO, ++ .active_low = 1, ++ } +}; + -+static struct platform_device avila_leds = { -+ .name = "IXP4XX-GPIO-LED", -+ .id = -1, -+ .num_resources = ARRAY_SIZE(avila_led_resources), -+ .resource = avila_led_resources, ++static struct gpio_led_platform_data avila_leds_data = { ++ .num_leds = 1, ++ .leds = avila_leds, +}; -+#endif + ++static struct platform_device avila_leds_device = { ++ .name = "leds-gpio", ++ .id = -1, ++ .dev.platform_data = &avila_leds_data, ++}; + 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 - }; +@@ -182,6 +202,8 @@ static void __init avila_gw23xx_setup(vo + { + platform_device_register(&avila_npeb_device); + platform_device_register(&avila_npec_device); ++ ++ platform_device_register(&avila_leds_device); + } - 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 + #ifdef CONFIG_SENSORS_EEPROM +@@ -189,6 +211,8 @@ static void __init avila_gw2342_setup(vo + { + platform_device_register(&avila_npeb_device); + platform_device_register(&avila_npec_device); ++ ++ platform_device_register(&avila_leds_device); + } -- -+/* User LED */ -+#define AVILA_LED_USER_GPIO 3 + static void __init avila_gw2345_setup(void) +@@ -199,22 +223,30 @@ static void __init avila_gw2345_setup(vo + + avila_npec_data.phy = 5; /* port 5 of the KS8995 switch */ + platform_device_register(&avila_npec_device); ++ ++ platform_device_register(&avila_leds_device); + } + + static void __init avila_gw2347_setup(void) + { + platform_device_register(&avila_npeb_device); ++ ++ avila_leds[0].gpio = AVILA_GW23X7_LED_USER_GPIO; ++ platform_device_register(&avila_leds_device); + } + + static void __init avila_gw2348_setup(void) + { + platform_device_register(&avila_npeb_device); + platform_device_register(&avila_npec_device); ++ ++ platform_device_register(&avila_leds_device); + } + + static void __init avila_gw2353_setup(void) + { + platform_device_register(&avila_npeb_device); ++ platform_device_register(&avila_leds_device); + } + + static void __init avila_gw2355_setup(void) +@@ -225,11 +257,16 @@ static void __init avila_gw2355_setup(vo + + avila_npec_data.phy = 16; + platform_device_register(&avila_npec_device); ++ ++ platform_device_register(&avila_leds_device); + } + + static void __init avila_gw2357_setup(void) + { + platform_device_register(&avila_npeb_device); ++ ++ avila_leds[0].gpio = AVILA_GW23X7_LED_USER_GPIO; ++ platform_device_register(&avila_leds_device); + } + + static struct avila_board_info avila_boards[] __initdata = {