Commit f7993ed5 authored by Kumar Gala's avatar Kumar Gala

[POWERPC] 83xx: Use of_platform_bus_probe to setup QE devices

Use of_platform_bus_probe to setup devices on the of_platform_bus since its
much cleaner.  We explicitly specify the bus ids since the we want to get rid
of the default mechanism in the future.
Signed-off-by: default avatarKumar Gala <galak@kernel.crashing.org>
parent 7c90c800
...@@ -105,26 +105,23 @@ static void __init mpc832x_sys_setup_arch(void) ...@@ -105,26 +105,23 @@ static void __init mpc832x_sys_setup_arch(void)
iounmap(bcsr_regs); iounmap(bcsr_regs);
of_node_put(np); of_node_put(np);
} }
#endif /* CONFIG_QUICC_ENGINE */ #endif /* CONFIG_QUICC_ENGINE */
} }
static struct of_device_id mpc832x_ids[] = {
{ .type = "soc", },
{ .compatible = "soc", },
{ .type = "qe", },
{},
};
static int __init mpc832x_declare_of_platform_devices(void) static int __init mpc832x_declare_of_platform_devices(void)
{ {
struct device_node *np;
if (!machine_is(mpc832x_mds)) if (!machine_is(mpc832x_mds))
return 0; return 0;
for (np = NULL; (np = of_find_compatible_node(np, "network", /* Publish the QE devices */
"ucc_geth")) != NULL;) { of_platform_bus_probe(NULL, mpc832x_ids, NULL);
int ucc_num;
char bus_id[BUS_ID_SIZE];
ucc_num = *((uint *) get_property(np, "device-id", NULL)) - 1;
snprintf(bus_id, BUS_ID_SIZE, "ucc_geth.%u", ucc_num);
of_platform_device_create(np, bus_id, NULL);
}
return 0; return 0;
} }
...@@ -132,7 +129,6 @@ device_initcall(mpc832x_declare_of_platform_devices); ...@@ -132,7 +129,6 @@ device_initcall(mpc832x_declare_of_platform_devices);
static void __init mpc832x_sys_init_IRQ(void) static void __init mpc832x_sys_init_IRQ(void)
{ {
struct device_node *np; struct device_node *np;
np = of_find_node_by_type(NULL, "ipic"); np = of_find_node_by_type(NULL, "ipic");
......
...@@ -119,26 +119,24 @@ static void __init mpc8360_sys_setup_arch(void) ...@@ -119,26 +119,24 @@ static void __init mpc8360_sys_setup_arch(void)
#endif /* CONFIG_QUICC_ENGINE */ #endif /* CONFIG_QUICC_ENGINE */
} }
static int __init mpc8360_declare_of_platform_devices(void) static struct of_device_id mpc836x_ids[] = {
{ { .type = "soc", },
struct device_node *np; { .compatible = "soc", },
{ .type = "qe", },
{},
};
static int __init mpc836x_declare_of_platform_devices(void)
{
if (!machine_is(mpc8360_sys)) if (!machine_is(mpc8360_sys))
return 0; return 0;
for (np = NULL; (np = of_find_compatible_node(np, "network", /* Publish the QE devices */
"ucc_geth")) != NULL;) { of_platform_bus_probe(NULL, mpc836x_ids, NULL);
int ucc_num;
char bus_id[BUS_ID_SIZE];
ucc_num = *((uint *) get_property(np, "device-id", NULL)) - 1;
snprintf(bus_id, BUS_ID_SIZE, "ucc_geth.%u", ucc_num);
of_platform_device_create(np, bus_id, NULL);
}
return 0; return 0;
} }
device_initcall(mpc8360_declare_of_platform_devices); device_initcall(mpc836x_declare_of_platform_devices);
static void __init mpc8360_sys_init_IRQ(void) static void __init mpc8360_sys_init_IRQ(void)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment