mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
[ixp4xx] update Avila patches
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@10968 3c298f89-4303-0410-b956-a3cf2f4a3e73
This commit is contained in:
@@ -2,47 +2,115 @@ 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 @@
|
||||
@@ -36,4 +36,6 @@
|
||||
#define AVILA_PCI_INTC_PIN 9
|
||||
#define AVILA_PCI_INTD_PIN 8
|
||||
|
||||
-
|
||||
+/* User LED */
|
||||
+#define AVILA_LED_USER_GPIO 3
|
||||
+/* User LEDs */
|
||||
+#define AVILA_GW23XX_LED_USER_GPIO 3
|
||||
+#define AVILA_GW23X7_LED_USER_GPIO 4
|
||||
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[
|
||||
}
|
||||
@@ -26,6 +26,7 @@
|
||||
# include <linux/eeprom.h>
|
||||
#endif
|
||||
|
||||
+#include <linux/leds.h>
|
||||
#include <linux/i2c-gpio.h>
|
||||
|
||||
#include <asm/types.h>
|
||||
@@ -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,
|
||||
+};
|
||||
+
|
||||
+static struct platform_device avila_leds_device = {
|
||||
+ .name = "leds-gpio",
|
||||
+ .id = -1,
|
||||
+ .dev.platform_data = &avila_leds_data,
|
||||
+};
|
||||
+#endif
|
||||
+
|
||||
static struct platform_device *avila_devices[] __initdata = {
|
||||
&avila_i2c_gpio,
|
||||
&avila_flash,
|
||||
- &avila_uart
|
||||
+ &avila_uart,
|
||||
+#ifdef CONFIG_LEDS_IXP4XX
|
||||
+ &avila_leds,
|
||||
+#endif
|
||||
};
|
||||
@@ -211,6 +231,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 struct platform_device *avila_eth_devices[] = {
|
||||
#ifdef CONFIG_SENSORS_EEPROM
|
||||
@@ -218,6 +240,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);
|
||||
}
|
||||
|
||||
static void __init avila_gw2345_setup(void)
|
||||
@@ -228,22 +252,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)
|
||||
@@ -254,11 +286,16 @@ static void __init avila_gw2355_setup(vo
|
||||
|
||||
avila_npec_data.phy = 5;
|
||||
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 = {
|
||||
|
||||
Reference in New Issue
Block a user