Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bbc97411 authored by Paul Mundt's avatar Paul Mundt
Browse files

sh: rsk7203: leds-gpio support for RSK+ LEDs.



Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent 10bfc6e1
Loading
Loading
Loading
Loading
+37 −5
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@
#include <linux/mtd/map.h>
#include <linux/smc911x.h>
#include <linux/gpio.h>
#include <linux/leds.h>
#include <asm/machvec.h>
#include <asm/io.h>
#include <cpu/sh7203.h>
@@ -116,10 +117,46 @@ static void __init set_mtd_partitions(void)
	}
}

static struct gpio_led rsk7203_gpio_leds[] = {
	{
		.name			= "green",
		.gpio			= GPIO_PE10,
		.active_low		= 1,
	}, {
		.name			= "orange",
		.default_trigger	= "nand-disk",
		.gpio			= GPIO_PE12,
		.active_low		= 1,
	}, {
		.name			= "red:timer",
		.default_trigger	= "timer",
		.gpio			= GPIO_PC14,
		.active_low		= 1,
	}, {
		.name			= "red:heartbeat",
		.default_trigger	= "heartbeat",
		.gpio			= GPIO_PE11,
		.active_low		= 1,
	},
};

static struct gpio_led_platform_data rsk7203_gpio_leds_info = {
	.leds		= rsk7203_gpio_leds,
	.num_leds	= ARRAY_SIZE(rsk7203_gpio_leds),
};

static struct platform_device led_device = {
	.name		= "leds-gpio",
	.id		= -1,
	.dev		= {
		.platform_data	= &rsk7203_gpio_leds_info,
	},
};

static struct platform_device *rsk7203_devices[] __initdata = {
	&smc911x_device,
	&flash_device,
	&led_device,
};

static int __init rsk7203_devices_setup(void)
@@ -128,11 +165,6 @@ static int __init rsk7203_devices_setup(void)
	gpio_request(GPIO_FN_TXD0, NULL);
	gpio_request(GPIO_FN_RXD0, NULL);

	/* Lit LED0 */
	gpio_request(GPIO_PE10, NULL);
	gpio_direction_output(GPIO_PE10, 0);
	gpio_export(GPIO_PE10, 0);

	set_mtd_partitions();
	return platform_add_devices(rsk7203_devices,
				    ARRAY_SIZE(rsk7203_devices));