Skip to content

Commit

Permalink
[POWERPC] Fix ucc_geth of_device discovery on mpc832x
Browse files Browse the repository at this point in the history
mpc832x, as in mpc8360, needs to explicitly find and create the
platform device for ucc_geth in 2.6.19.  This code will likely be
readapted to Benh's new of_ methods for 2.6.20.

Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
  • Loading branch information
Kim Phillips authored and Paul Mackerras committed Nov 22, 2006
1 parent df9c230 commit 8746ed3
Showing 1 changed file with 19 additions and 0 deletions.
19 changes: 19 additions & 0 deletions arch/powerpc/platforms/83xx/mpc832x_mds.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@
#include <linux/root_dev.h>
#include <linux/initrd.h>

#include <asm/of_device.h>
#include <asm/system.h>
#include <asm/atomic.h>
#include <asm/time.h>
Expand Down Expand Up @@ -136,6 +137,24 @@ static void __init mpc832x_sys_setup_arch(void)
#endif
}

static int __init mpc832x_declare_of_platform_devices(void)
{
struct device_node *np;

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);
}

return 0;
}
device_initcall(mpc832x_declare_of_platform_devices);

void __init mpc832x_sys_init_IRQ(void)
{

Expand Down

0 comments on commit 8746ed3

Please sign in to comment.