Changeset 56fd7cf in mainline for uspace/drv/infrastructure/rootpc/rootpc.c
- Timestamp:
- 2012-08-17T11:37:03Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 1d5a540
- Parents:
- be2a38ad
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/infrastructure/rootpc/rootpc.c
rbe2a38ad r56fd7cf 53 53 54 54 #define NAME "rootpc" 55 56 /** Obtain function soft-state from DDF function node */57 #define ROOTPC_FUN(fnode) ((rootpc_fun_t *) (fnode)->driver_data)58 55 59 56 typedef struct rootpc_fun { … … 101 98 }; 102 99 100 /** Obtain function soft-state from DDF function node */ 101 static rootpc_fun_t *rootpc_fun(ddf_fun_t *fnode) 102 { 103 return ddf_fun_data_get(fnode); 104 } 105 103 106 static hw_resource_list_t *rootpc_get_resources(ddf_fun_t *fnode) 104 107 { 105 rootpc_fun_t *fun = ROOTPC_FUN(fnode);108 rootpc_fun_t *fun = rootpc_fun(fnode); 106 109 107 110 assert(fun != NULL); … … 126 129 static bool 127 130 rootpc_add_fun(ddf_dev_t *dev, const char *name, const char *str_match_id, 128 rootpc_fun_t *fun )131 rootpc_fun_t *fun_proto) 129 132 { 130 133 ddf_msg(LVL_DEBUG, "Adding new function '%s'.", name); 131 134 132 135 ddf_fun_t *fnode = NULL; 133 match_id_t *match_id = NULL;136 int rc; 134 137 135 138 /* Create new device. */ … … 138 141 goto failure; 139 142 140 fnode->driver_data = fun; 141 142 /* Initialize match id list */ 143 match_id = create_match_id(); 144 if (match_id == NULL) 143 rootpc_fun_t *fun = ddf_fun_data_alloc(fnode, sizeof(rootpc_fun_t)); 144 *fun = *fun_proto; 145 146 /* Add match ID */ 147 rc = ddf_fun_add_match_id(fnode, str_match_id, 100); 148 if (rc != EOK) 145 149 goto failure; 146 150 147 match_id->id = str_match_id;148 match_id->score = 100;149 add_match_id(&fnode->match_ids, match_id);150 151 151 /* Set provided operations to the device. */ 152 fnode->ops = &rootpc_fun_ops;152 ddf_fun_set_ops(fnode, &rootpc_fun_ops); 153 153 154 154 /* Register function. */ … … 161 161 162 162 failure: 163 if (match_id != NULL)164 match_id->id = NULL;165 166 163 if (fnode != NULL) 167 164 ddf_fun_destroy(fnode); … … 186 183 { 187 184 ddf_msg(LVL_DEBUG, "rootpc_dev_add, device handle = %d", 188 (int)d ev->handle);185 (int)ddf_dev_get_handle(dev)); 189 186 190 187 /* Register functions. */
Note:
See TracChangeset
for help on using the changeset viewer.