powerpc/powernv: Create LED platform device

This patch adds platform devices for leds. Also export LED related
OPAL API's so that led driver can use these APIs.

Signed-off-by: Vasant Hegde <hegdevasant@linux.vnet.ibm.com>
Acked-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Vasant Hegde 2015-08-19 22:19:53 +05:30 committed by Michael Ellerman
parent 8a8d91817a
commit c159b5968e

View File

@ -683,7 +683,7 @@ static void opal_init_heartbeat(void)
static int __init opal_init(void) static int __init opal_init(void)
{ {
struct device_node *np, *consoles; struct device_node *np, *consoles, *leds;
int rc; int rc;
opal_node = of_find_node_by_path("/ibm,opal"); opal_node = of_find_node_by_path("/ibm,opal");
@ -724,6 +724,13 @@ static int __init opal_init(void)
/* Setup a heatbeat thread if requested by OPAL */ /* Setup a heatbeat thread if requested by OPAL */
opal_init_heartbeat(); opal_init_heartbeat();
/* Create leds platform devices */
leds = of_find_node_by_path("/ibm,opal/leds");
if (leds) {
of_platform_device_create(leds, "opal_leds", NULL);
of_node_put(leds);
}
/* Create "opal" kobject under /sys/firmware */ /* Create "opal" kobject under /sys/firmware */
rc = opal_sysfs_init(); rc = opal_sysfs_init();
if (rc == 0) { if (rc == 0) {
@ -876,3 +883,6 @@ EXPORT_SYMBOL_GPL(opal_rtc_write);
EXPORT_SYMBOL_GPL(opal_tpo_read); EXPORT_SYMBOL_GPL(opal_tpo_read);
EXPORT_SYMBOL_GPL(opal_tpo_write); EXPORT_SYMBOL_GPL(opal_tpo_write);
EXPORT_SYMBOL_GPL(opal_i2c_request); EXPORT_SYMBOL_GPL(opal_i2c_request);
/* Export these symbols for PowerNV LED class driver */
EXPORT_SYMBOL_GPL(opal_leds_get_ind);
EXPORT_SYMBOL_GPL(opal_leds_set_ind);