Changes in uspace/srv/devman/dev.c [5a6cc679:a35b458] in mainline
- File:
-
- 1 edited
-
uspace/srv/devman/dev.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/devman/dev.c
r5a6cc679 ra35b458 43 43 { 44 44 dev_node_t *dev; 45 45 46 46 dev = calloc(1, sizeof(dev_node_t)); 47 47 if (dev == NULL) 48 48 return NULL; 49 49 50 50 atomic_set(&dev->refcnt, 0); 51 51 list_initialize(&dev->functions); 52 52 link_initialize(&dev->driver_devices); 53 53 54 54 return dev; 55 55 } … … 64 64 assert(dev->pfun == NULL); 65 65 assert(dev->drv == NULL); 66 66 67 67 free(dev); 68 68 } … … 98 98 { 99 99 assert(fibril_rwlock_is_locked(&tree->rwlock)); 100 100 101 101 ht_link_t *link = hash_table_find(&tree->devman_devices, &handle); 102 102 if (link == NULL) 103 103 return NULL; 104 104 105 105 return hash_table_get_inst(link, dev_node_t, devman_dev); 106 106 } … … 115 115 { 116 116 dev_node_t *dev = NULL; 117 117 118 118 fibril_rwlock_read_lock(&tree->rwlock); 119 119 dev = find_dev_node_no_lock(tree, handle); 120 120 if (dev != NULL) 121 121 dev_add_ref(dev); 122 122 123 123 fibril_rwlock_read_unlock(&tree->rwlock); 124 124 125 125 return dev; 126 126 }
Note:
See TracChangeset
for help on using the changeset viewer.
