Rev 3467 | Rev 3582 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
| Rev 3467 | Rev 3479 | ||
|---|---|---|---|
| Line 217... | Line 217... | ||
| 217 | * @return NULL on failure or pointer to the root node. |
217 | * @return NULL on failure or pointer to the root node. |
| 218 | */ |
218 | */ |
| 219 | ofw_tree_node_t *ofw_tree_build(void) |
219 | ofw_tree_node_t *ofw_tree_build(void) |
| 220 | { |
220 | { |
| 221 | ofw_tree_node_t *root; |
221 | ofw_tree_node_t *root; |
| 222 | - | ||
| 223 | #if defined (SMART_FIRMWARE) |
222 | phandle ssm_node; |
| 224 | ofw_tree_node_t *ssm; |
223 | ofw_tree_node_t *ssm; |
| 225 | #endif |
- | |
| 226 | 224 | ||
| 227 | root = ofw_tree_node_alloc(); |
225 | root = ofw_tree_node_alloc(); |
| 228 | if (root) |
226 | if (root) |
| 229 | ofw_tree_node_process(root, NULL, ofw_root); |
227 | ofw_tree_node_process(root, NULL, ofw_root); |
| 230 | 228 | ||
| 231 | #if defined (SMART_FIRMWARE) |
- | |
| 232 | /* |
229 | /* |
| 233 | * The firmware client interface does not automatically include the |
230 | * The firmware client interface does not automatically include the |
| 234 | * "ssm" node in the list of children of "/". A nasty yet working |
231 | * "ssm" node in the list of children of "/". A nasty yet working |
| 235 | * solution is to explicitly stick "ssm" to the OFW tree. |
232 | * solution is to explicitly stick "ssm" to the OFW tree. |
| 236 | */ |
233 | */ |
| - | 234 | ssm_node = ofw_find_device("/ssm@0,0"); |
|
| - | 235 | if (ssm_node != -1) { |
|
| 237 | ssm = ofw_tree_node_alloc(); |
236 | ssm = ofw_tree_node_alloc(); |
| 238 | if (ssm) { |
237 | if (ssm) { |
| 239 | ofw_tree_node_process(ssm, root, ofw_find_device("/ssm@0,0")); |
238 | ofw_tree_node_process(ssm, root, ofw_find_device("/ssm@0,0")); |
| 240 | ssm->peer = root->child; |
239 | ssm->peer = root->child; |
| 241 | root->child = ssm; |
240 | root->child = ssm; |
| - | 241 | } |
|
| 242 | } |
242 | } |
| 243 | #endif |
- | |
| 244 | 243 | ||
| 245 | return root; |
244 | return root; |
| 246 | } |
245 | } |