powerpc/powernv: Simplify searching for compatible device nodes
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 <jack@codezen.org> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Родитель
29a969b764
Коммит
9e4f51bdaf
|
@ -632,21 +632,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);
|
||||
}
|
||||
|
||||
|
@ -718,7 +708,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();
|
||||
|
@ -753,12 +743,12 @@ 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 platform device: oppanel interface */
|
||||
opal_pdev_init(opal_node, "ibm,opal-oppanel");
|
||||
opal_pdev_init("ibm,opal-oppanel");
|
||||
|
||||
/* Initialise OPAL kmsg dumper for flushing console on panic */
|
||||
opal_kmsg_init();
|
||||
|
|
Загрузка…
Ссылка в новой задаче