This condenses the opal node searching into a single function that finds
all compatible nodes, instead of just searching the ibm,opal children,
for ipmi, flash, and prd similar to how opal-i2c nodes are found.

Signed-off-by: Jack Miller <j...@codezen.org>
---
 arch/powerpc/platforms/powernv/opal.c | 22 ++++++----------------
 1 file changed, 6 insertions(+), 16 deletions(-)

diff --git a/arch/powerpc/platforms/powernv/opal.c 
b/arch/powerpc/platforms/powernv/opal.c
index ae29eaf..86b7352 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -640,21 +640,11 @@ static void __init opal_dump_region_init(void)
                        "rc = %d\n", rc);
 }
 
-static void opal_pdev_init(struct device_node *opal_node,
-               const char *compatible)
+static void opal_pdev_init(const char *compatible)
 {
        struct device_node *np;
 
-       for_each_child_of_node(opal_node, np)
-               if (of_device_is_compatible(np, compatible))
-                       of_platform_device_create(np, NULL, NULL);
-}
-
-static void opal_i2c_create_devs(void)
-{
-       struct device_node *np;
-
-       for_each_compatible_node(np, NULL, "ibm,opal-i2c")
+       for_each_compatible_node(np, NULL, compatible)
                of_platform_device_create(np, NULL, NULL);
 }
 
@@ -722,7 +712,7 @@ static int __init opal_init(void)
        opal_hmi_handler_init();
 
        /* Create i2c platform devices */
-       opal_i2c_create_devs();
+       opal_pdev_init("ibm,opal-i2c");
 
        /* Setup a heatbeat thread if requested by OPAL */
        opal_init_heartbeat();
@@ -754,9 +744,9 @@ static int __init opal_init(void)
        }
 
        /* Initialize platform devices: IPMI backend, PRD & flash interface */
-       opal_pdev_init(opal_node, "ibm,opal-ipmi");
-       opal_pdev_init(opal_node, "ibm,opal-flash");
-       opal_pdev_init(opal_node, "ibm,opal-prd");
+       opal_pdev_init("ibm,opal-ipmi");
+       opal_pdev_init("ibm,opal-flash");
+       opal_pdev_init("ibm,opal-prd");
 
        /* Initialise OPAL kmsg dumper for flushing console on panic */
        opal_kmsg_init();
-- 
2.9.2

_______________________________________________
Linuxppc-dev mailing list
Linuxppc-dev@lists.ozlabs.org
https://lists.ozlabs.org/listinfo/linuxppc-dev

Reply via email to