Changes in uspace/drv/test1/test1.c [ebcb05a:fc51296] in mainline
- File:
-
- 1 edited
-
uspace/drv/test1/test1.c (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
uspace/drv/test1/test1.c
rebcb05a rfc51296 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, 62 int expected_rc) 61 const char *name, const char *match_id, int match_score) 63 62 { 64 ddf_fun_t *fun = NULL;63 ddf_fun_t *fun; 65 64 int rc; 66 65 67 ddf_msg(LVL_DEBUG, "Registering function `%s': %s. ", name, message);66 ddf_msg(LVL_DEBUG, "Registering function `%s': %s.\n", name, message); 68 67 69 68 fun = ddf_fun_create(parent, fun_inner, name); 70 69 if (fun == NULL) { 71 ddf_msg(LVL_ERROR, "Failed creating function %s", name); 72 rc = ENOMEM; 73 goto leave; 70 ddf_msg(LVL_ERROR, "Failed creating function %s\n", name); 71 return ENOMEM; 74 72 } 75 73 76 rc = ddf_fun_add_match_id(fun, str_dup(match_id), match_score);74 rc = ddf_fun_add_match_id(fun, match_id, match_score); 77 75 if (rc != EOK) { 78 ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s ",76 ddf_msg(LVL_ERROR, "Failed adding match IDs to function %s\n", 79 77 name); 80 goto leave; 78 ddf_fun_destroy(fun); 79 return rc; 81 80 } 82 81 83 82 rc = ddf_fun_bind(fun); 84 83 if (rc != EOK) { 85 ddf_msg(LVL_ERROR, "Failed binding function %s: %s ", name,84 ddf_msg(LVL_ERROR, "Failed binding function %s: %s\n", name, 86 85 str_error(rc)); 87 goto leave; 86 ddf_fun_destroy(fun); 87 return rc; 88 88 } 89 89 90 ddf_msg(LVL_NOTE, "Registered child device `%s'", name); 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; 90 ddf_msg(LVL_NOTE, "Registered child device `%s'\n", name); 91 return EOK; 106 92 } 107 93 … … 128 114 int rc; 129 115 130 ddf_msg(LVL_DEBUG, "add_device(name=\"%s\", handle=%d) ",116 ddf_msg(LVL_DEBUG, "add_device(name=\"%s\", handle=%d)\n", 131 117 dev->name, (int) dev->handle); 132 118 133 119 fun_a = ddf_fun_create(dev, fun_exposed, "a"); 134 120 if (fun_a == NULL) { 135 ddf_msg(LVL_ERROR, "Failed creating function 'a'. ");121 ddf_msg(LVL_ERROR, "Failed creating function 'a'.\n"); 136 122 return ENOMEM; 137 123 } … … 139 125 rc = ddf_fun_bind(fun_a); 140 126 if (rc != EOK) { 141 ddf_msg(LVL_ERROR, "Failed binding function 'a'. ");127 ddf_msg(LVL_ERROR, "Failed binding function 'a'.\n"); 142 128 return rc; 143 129 } … … 149 135 ddf_fun_add_to_class(fun_a, "virt-null"); 150 136 } else if (str_cmp(dev->name, "test1") == 0) { 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); 137 (void) register_fun_verbose(dev, "cloning myself ;-)", "clone", 138 "virtual&test1", 10); 157 139 } else if (str_cmp(dev->name, "clone") == 0) { 158 (void) register_fun_verbose(dev, 159 "run by the same task", "child", 160 "virtual&test1&child", 10, EOK); 140 (void) register_fun_verbose(dev, "run by the same task", "child", 141 "virtual&test1&child", 10); 161 142 } 162 143 163 ddf_msg(LVL_DEBUG, "Device `%s' accepted. ", dev->name);144 ddf_msg(LVL_DEBUG, "Device `%s' accepted.\n", dev->name); 164 145 165 146 return EOK;
Note:
See TracChangeset
for help on using the changeset viewer.
