forked from luck/tmp_suning_uos_patched
[ARM] 3595/1: ixp4xx/nas100d: Board support for new LED subsystem
Patch from Rod Whitby This patch implements NEW_LEDS support for the IOMega NAS100d. The NAS100d has three LED indicators, which are the only form of output for an unmodified device - there is no keyboard or display on an NAS100d. For an NAS100d which has been modified to bring out the serial port console, it is important to register that device first separately, to enable debugging of other device support. Signed-off-by: John Bowler <jbowler@acm.org> Signed-off-by: Rod Whitby <rod@whitby.id.au> Signed-off-by: Deepak Saxena <dsaxena@plexity.net> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
This commit is contained in:
parent
f606a6ff22
commit
df6934b33c
@ -15,6 +15,7 @@
|
||||
#include <linux/kernel.h>
|
||||
#include <linux/serial.h>
|
||||
#include <linux/serial_8250.h>
|
||||
#include <linux/leds.h>
|
||||
|
||||
#include <asm/mach-types.h>
|
||||
#include <asm/mach/arch.h>
|
||||
@ -37,6 +38,36 @@ static struct platform_device nas100d_flash = {
|
||||
.resource = &nas100d_flash_resource,
|
||||
};
|
||||
|
||||
#ifdef CONFIG_LEDS_IXP4XX
|
||||
static struct resource nas100d_led_resources[] = {
|
||||
{
|
||||
.name = "wlan", /* green led */
|
||||
.start = 0,
|
||||
.end = 0,
|
||||
.flags = IXP4XX_GPIO_LOW,
|
||||
},
|
||||
{
|
||||
.name = "ready", /* blue power led (off is flashing!) */
|
||||
.start = 15,
|
||||
.end = 15,
|
||||
.flags = IXP4XX_GPIO_LOW,
|
||||
},
|
||||
{
|
||||
.name = "disk", /* yellow led */
|
||||
.start = 3,
|
||||
.end = 3,
|
||||
.flags = IXP4XX_GPIO_LOW,
|
||||
},
|
||||
};
|
||||
|
||||
static struct platform_device nas100d_leds = {
|
||||
.name = "IXP4XX-GPIO-LED",
|
||||
.id = -1,
|
||||
.num_resources = ARRAY_SIZE(nas100d_led_resources),
|
||||
.resource = nas100d_led_resources,
|
||||
};
|
||||
#endif
|
||||
|
||||
static struct ixp4xx_i2c_pins nas100d_i2c_gpio_pins = {
|
||||
.sda_pin = NAS100D_SDA_PIN,
|
||||
.scl_pin = NAS100D_SCL_PIN,
|
||||
@ -95,7 +126,9 @@ static struct platform_device nas100d_uart = {
|
||||
static struct platform_device *nas100d_devices[] __initdata = {
|
||||
&nas100d_i2c_controller,
|
||||
&nas100d_flash,
|
||||
&nas100d_uart,
|
||||
#ifdef CONFIG_LEDS_IXP4XX
|
||||
&nas100d_leds,
|
||||
#endif
|
||||
};
|
||||
|
||||
static void nas100d_power_off(void)
|
||||
@ -122,6 +155,12 @@ static void __init nas100d_init(void)
|
||||
|
||||
pm_power_off = nas100d_power_off;
|
||||
|
||||
/* This is only useful on a modified machine, but it is valuable
|
||||
* to have it first in order to see debug messages, and so that
|
||||
* it does *not* get removed if platform_add_devices fails!
|
||||
*/
|
||||
(void)platform_device_register(&nas100d_uart);
|
||||
|
||||
platform_add_devices(nas100d_devices, ARRAY_SIZE(nas100d_devices));
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user