|
@@ -683,7 +683,7 @@ static void opal_init_heartbeat(void)
|
|
|
|
|
|
static int __init opal_init(void)
|
|
|
{
|
|
|
- struct device_node *np, *consoles;
|
|
|
+ struct device_node *np, *consoles, *leds;
|
|
|
int rc;
|
|
|
|
|
|
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 */
|
|
|
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 */
|
|
|
rc = opal_sysfs_init();
|
|
|
if (rc == 0) {
|
|
@@ -876,3 +883,6 @@ EXPORT_SYMBOL_GPL(opal_rtc_write);
|
|
|
EXPORT_SYMBOL_GPL(opal_tpo_read);
|
|
|
EXPORT_SYMBOL_GPL(opal_tpo_write);
|
|
|
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);
|