powerpc/powernv: Create LED platform device
authorVasant Hegde <hegdevasant@linux.vnet.ibm.com>
Wed, 19 Aug 2015 16:49:53 +0000 (22:19 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 20 Aug 2015 08:19:07 +0000 (18:19 +1000)
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>
arch/powerpc/platforms/powernv/opal.c

index a2b53f29242704f3535a15145b1db0fbe5150524..230f3a7cdea45f8d160797fe55eb7b154c9c9dba 100644 (file)
@@ -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);