Changeset 957cfa58 in mainline for uspace/srv/devman/main.c
- Timestamp:
- 2010-05-26T20:25:43Z (15 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- c9f3b45c
- Parents:
- d51ee2b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/devman/main.c
rd51ee2b r957cfa58 246 246 static void devman_add_child(ipc_callid_t callid, ipc_call_t *call) 247 247 { 248 // 248 //printf(NAME ": devman_add_child\n"); 249 249 250 250 device_handle_t parent_handle = IPC_GET_ARG1(*call); 251 251 ipcarg_t match_count = IPC_GET_ARG2(*call); 252 253 node_t *parent = find_dev_node(&device_tree, parent_handle); 252 dev_tree_t *tree = &device_tree; 253 254 fibril_rwlock_write_lock(&tree->rwlock); 255 node_t *parent = find_dev_node_no_lock(&device_tree, parent_handle); 254 256 255 257 if (NULL == parent) { 258 fibril_rwlock_write_unlock(&tree->rwlock); 256 259 ipc_answer_0(callid, ENOENT); 257 260 return; … … 261 264 int rc = async_string_receive(&dev_name, DEVMAN_NAME_MAXLEN, NULL); 262 265 if (EOK != rc) { 266 fibril_rwlock_write_unlock(&tree->rwlock); 263 267 ipc_answer_0(callid, rc); 264 268 return; 265 269 } 266 // 270 //printf(NAME ": newly added child device's name is '%s'.\n", dev_name); 267 271 268 272 node_t *node = create_dev_node(); 269 273 if (!insert_dev_node(&device_tree, node, dev_name, parent)) { 274 fibril_rwlock_write_unlock(&tree->rwlock); 270 275 delete_dev_node(node); 271 276 ipc_answer_0(callid, ENOMEM); 272 277 return; 273 278 } 279 fibril_rwlock_write_unlock(&tree->rwlock); 274 280 275 281 printf(NAME ": devman_add_child %s\n", node->pathname); … … 281 287 282 288 // try to find suitable driver and assign it to the device 283 assign_driver(node, &drivers_list); 289 assign_driver(node, &drivers_list); 284 290 } 285 291
Note:
See TracChangeset
for help on using the changeset viewer.