Changeset 56fd7cf in mainline for uspace/drv/infrastructure/rootmac/rootmac.c
- Timestamp:
- 2012-08-17T11:37:03Z (12 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/rootmac/rootmac.c
rbe2a38ad r56fd7cf 44 44 #define NAME "rootmac" 45 45 46 /** Obtain function soft-state from DDF function node */47 #define ROOTMAC_FUN(fnode) \48 ((rootmac_fun_t *) (fnode)->driver_data)49 50 46 typedef struct { 51 47 hw_resource_list_t hw_resources; … … 80 76 static ddf_dev_ops_t rootmac_fun_ops; 81 77 78 /** Obtain function soft-state from DDF function node */ 79 static rootmac_fun_t *rootmac_fun(ddf_fun_t *fnode) 80 { 81 return ddf_fun_data_get(fnode); 82 } 83 82 84 static bool rootmac_add_fun(ddf_dev_t *dev, const char *name, 83 const char *str_match_id, rootmac_fun_t *fun )85 const char *str_match_id, rootmac_fun_t *fun_proto) 84 86 { 85 87 ddf_msg(LVL_DEBUG, "Adding new function '%s'.", name); 86 88 87 89 ddf_fun_t *fnode = NULL; 88 match_id_t *match_id = NULL;90 int rc; 89 91 90 92 /* Create new device. */ … … 93 95 goto failure; 94 96 95 fnode->driver_data = fun; 97 rootmac_fun_t *fun = ddf_fun_data_alloc(fnode, sizeof(rootmac_fun_t)); 98 *fun = *fun_proto; 96 99 97 /* Initialize match id list*/98 match_id = create_match_id();99 if ( match_id == NULL)100 /* Add match ID */ 101 rc = ddf_fun_add_match_id(fnode, str_match_id, 100); 102 if (rc != EOK) 100 103 goto failure; 101 104 102 match_id->id = str_match_id;103 match_id->score = 100;104 add_match_id(&fnode->match_ids, match_id);105 106 105 /* Set provided operations to the device. */ 107 fnode->ops = &rootmac_fun_ops;106 ddf_fun_set_ops(fnode, &rootmac_fun_ops); 108 107 109 108 /* Register function. */ … … 116 115 117 116 failure: 118 if (match_id != NULL)119 match_id->id = NULL;120 121 117 if (fnode != NULL) 122 118 ddf_fun_destroy(fnode); … … 162 158 static hw_resource_list_t *rootmac_get_resources(ddf_fun_t *fnode) 163 159 { 164 rootmac_fun_t *fun = ROOTMAC_FUN(fnode);160 rootmac_fun_t *fun = rootmac_fun(fnode); 165 161 assert(fun != NULL); 166 162
Note:
See TracChangeset
for help on using the changeset viewer.