Changeset bdbb6f6 in mainline for uspace/drv/test1/test1.c
- Timestamp:
- 2011-04-01T17:07:59Z (13 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- ebcb05a
- Parents:
- cfc3027 (diff), 0864122 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the(diff)
links above to see all the changes relative to each parent. - File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/test1/test1.c
rcfc3027 rbdbb6f6 59 59 */ 60 60 static int register_fun_verbose(ddf_dev_t *parent, const char *message, 61 const char *name, const char *match_id, int match_score) 61 const char *name, const char *match_id, int match_score, 62 int expected_rc) 62 63 { 63 ddf_fun_t *fun ;64 ddf_fun_t *fun = NULL; 64 65 int rc; 65 66 … … 69 70 if (fun == NULL) { 70 71 ddf_msg(LVL_ERROR, "Failed creating function %s\n", name); 71 return ENOMEM; 72 rc = ENOMEM; 73 goto leave; 72 74 } 73 75 74 rc = ddf_fun_add_match_id(fun, match_id, match_score);76 rc = ddf_fun_add_match_id(fun, str_dup(match_id), match_score); 75 77 if (rc != EOK) { 76 78 ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s\n", 77 79 name); 78 ddf_fun_destroy(fun); 79 return rc; 80 goto leave; 80 81 } 81 82 … … 84 85 ddf_msg(LVL_ERROR, "Failed binding function %s: %s\n", name, 85 86 str_error(rc)); 86 ddf_fun_destroy(fun); 87 return rc; 87 goto leave; 88 88 } 89 89 90 90 ddf_msg(LVL_NOTE, "Registered child device `%s'\n", name); 91 return EOK; 91 rc = EOK; 92 93 leave: 94 if (rc != expected_rc) { 95 fprintf(stderr, 96 NAME ": Unexpected error registering function `%s'.\n" 97 NAME ": Expected \"%s\" but got \"%s\".\n", 98 name, str_error(expected_rc), str_error(rc)); 99 } 100 101 if ((rc != EOK) && (fun != NULL)) { 102 ddf_fun_destroy(fun); 103 } 104 105 return rc; 92 106 } 93 107 … … 135 149 ddf_fun_add_to_class(fun_a, "virt-null"); 136 150 } else if (str_cmp(dev->name, "test1") == 0) { 137 (void) register_fun_verbose(dev, "cloning myself ;-)", "clone", 138 "virtual&test1", 10); 151 (void) register_fun_verbose(dev, 152 "cloning myself ;-)", "clone", 153 "virtual&test1", 10, EOK); 154 (void) register_fun_verbose(dev, 155 "cloning myself twice ;-)", "clone", 156 "virtual&test1", 10, EEXISTS); 139 157 } else if (str_cmp(dev->name, "clone") == 0) { 140 (void) register_fun_verbose(dev, "run by the same task", "child", 141 "virtual&test1&child", 10); 158 (void) register_fun_verbose(dev, 159 "run by the same task", "child", 160 "virtual&test1&child", 10, EOK); 142 161 } 143 162
Note:
See TracChangeset
for help on using the changeset viewer.