Skip to content

Commit

Permalink
[POWERPC] 83xx: Use of_platform_bus_probe to setup QE devices
Browse files Browse the repository at this point in the history
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>
  • Loading branch information
Kumar Gala committed Feb 17, 2007
1 parent 7c90c80 commit f7993ed
Show file tree
Hide file tree
Showing 2 changed files with 20 additions and 26 deletions.
22 changes: 9 additions & 13 deletions arch/powerpc/platforms/83xx/mpc832x_mds.c
Original file line number Diff line number Diff line change
Expand Up @@ -105,34 +105,30 @@ static void __init mpc832x_sys_setup_arch(void)
iounmap(bcsr_regs);
of_node_put(np);
}

#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)
{
struct device_node *np;

if (!machine_is(mpc832x_mds))
return 0;

for (np = NULL; (np = of_find_compatible_node(np, "network",
"ucc_geth")) != 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);
}
/* Publish the QE devices */
of_platform_bus_probe(NULL, mpc832x_ids, NULL);

return 0;
}
device_initcall(mpc832x_declare_of_platform_devices);

static void __init mpc832x_sys_init_IRQ(void)
{

struct device_node *np;

np = of_find_node_by_type(NULL, "ipic");
Expand Down
24 changes: 11 additions & 13 deletions arch/powerpc/platforms/83xx/mpc8360e_pb.c
Original file line number Diff line number Diff line change
Expand Up @@ -119,26 +119,24 @@ static void __init mpc8360_sys_setup_arch(void)
#endif /* CONFIG_QUICC_ENGINE */
}

static int __init mpc8360_declare_of_platform_devices(void)
{
struct device_node *np;
static struct of_device_id mpc836x_ids[] = {
{ .type = "soc", },
{ .compatible = "soc", },
{ .type = "qe", },
{},
};

static int __init mpc836x_declare_of_platform_devices(void)
{
if (!machine_is(mpc8360_sys))
return 0;

for (np = NULL; (np = of_find_compatible_node(np, "network",
"ucc_geth")) != 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);
}
/* Publish the QE devices */
of_platform_bus_probe(NULL, mpc836x_ids, NULL);

return 0;
}
device_initcall(mpc8360_declare_of_platform_devices);
device_initcall(mpc836x_declare_of_platform_devices);

static void __init mpc8360_sys_init_IRQ(void)
{
Expand Down

0 comments on commit f7993ed

Please sign in to comment.