diff options
author | Kumar Gala <galak@kernel.crashing.org> | 2007-02-17 10:56:49 -0500 |
---|---|---|
committer | Kumar Gala <galak@kernel.crashing.org> | 2007-02-17 10:56:49 -0500 |
commit | f7993ed57ac06da168d29c587d1bc0dce0f11c78 (patch) | |
tree | 443ffead2e02606e1f331ab8e9e0f77995f58b31 /arch/powerpc/platforms/83xx/mpc8360e_pb.c | |
parent | 7c90c800d9a6c6393fa610313b6ed56ac786da93 (diff) |
[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>
Diffstat (limited to 'arch/powerpc/platforms/83xx/mpc8360e_pb.c')
-rw-r--r-- | arch/powerpc/platforms/83xx/mpc8360e_pb.c | 24 |
1 files changed, 11 insertions, 13 deletions
diff --git a/arch/powerpc/platforms/83xx/mpc8360e_pb.c b/arch/powerpc/platforms/83xx/mpc8360e_pb.c index 83f1c94274d0..b25e6a116233 100644 --- a/arch/powerpc/platforms/83xx/mpc8360e_pb.c +++ b/arch/powerpc/platforms/83xx/mpc8360e_pb.c | |||
@@ -119,26 +119,24 @@ static void __init mpc8360_sys_setup_arch(void) | |||
119 | #endif /* CONFIG_QUICC_ENGINE */ | 119 | #endif /* CONFIG_QUICC_ENGINE */ |
120 | } | 120 | } |
121 | 121 | ||
122 | static int __init mpc8360_declare_of_platform_devices(void) | 122 | static struct of_device_id mpc836x_ids[] = { |
123 | { | 123 | { .type = "soc", }, |
124 | struct device_node *np; | 124 | { .compatible = "soc", }, |
125 | { .type = "qe", }, | ||
126 | {}, | ||
127 | }; | ||
125 | 128 | ||
129 | static int __init mpc836x_declare_of_platform_devices(void) | ||
130 | { | ||
126 | if (!machine_is(mpc8360_sys)) | 131 | if (!machine_is(mpc8360_sys)) |
127 | return 0; | 132 | return 0; |
128 | 133 | ||
129 | for (np = NULL; (np = of_find_compatible_node(np, "network", | 134 | /* Publish the QE devices */ |
130 | "ucc_geth")) != NULL;) { | 135 | of_platform_bus_probe(NULL, mpc836x_ids, NULL); |
131 | int ucc_num; | ||
132 | char bus_id[BUS_ID_SIZE]; | ||
133 | |||
134 | ucc_num = *((uint *) get_property(np, "device-id", NULL)) - 1; | ||
135 | snprintf(bus_id, BUS_ID_SIZE, "ucc_geth.%u", ucc_num); | ||
136 | of_platform_device_create(np, bus_id, NULL); | ||
137 | } | ||
138 | 136 | ||
139 | return 0; | 137 | return 0; |
140 | } | 138 | } |
141 | device_initcall(mpc8360_declare_of_platform_devices); | 139 | device_initcall(mpc836x_declare_of_platform_devices); |
142 | 140 | ||
143 | static void __init mpc8360_sys_init_IRQ(void) | 141 | static void __init mpc8360_sys_init_IRQ(void) |
144 | { | 142 | { |