[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: Kumar Gala <galak@kernel.crashing.org>
This commit is contained in:
parent
7c90c800d9
commit
f7993ed57a
|
@ -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);
|
||||||
|
|
||||||
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)
|
||||||
#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)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in a new issue