Changes in uspace/lib/drv/generic/driver.c [228e490:7e752b2] in mainline
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/lib/drv/generic/driver.c
r228e490 r7e752b2 81 81 static void driver_irq_handler(ipc_callid_t iid, ipc_call_t *icall) 82 82 { 83 int id = (int)IPC_GET_ IMETHOD(*icall);83 int id = (int)IPC_GET_METHOD(*icall); 84 84 interrupt_context_t *ctx; 85 85 … … 165 165 166 166 devman_handle_t dev_handle = IPC_GET_ARG1(*icall); 167 devman_handle_t parent_dev_handle = IPC_GET_ARG2(*icall);168 169 167 device_t *dev = create_device(); 170 168 dev->handle = dev_handle; … … 174 172 175 173 add_to_devices_list(dev); 176 dev->parent = driver_get_device(&devices, parent_dev_handle);177 178 174 res = driver->driver_ops->add_device(dev); 179 175 if (0 == res) { … … 200 196 ipc_callid_t callid = async_get_call(&call); 201 197 202 switch (IPC_GET_ IMETHOD(call)) {198 switch (IPC_GET_METHOD(call)) { 203 199 case IPC_M_PHONE_HUNGUP: 204 200 cont = false; … … 254 250 ipc_call_t call; 255 251 callid = async_get_call(&call); 256 sysarg_t method = IPC_GET_IMETHOD(call);252 ipcarg_t method = IPC_GET_METHOD(call); 257 253 int iface_idx; 258 254 … … 308 304 309 305 /* get the method of the remote interface */ 310 sysarg_t iface_method_idx = IPC_GET_ARG1(call);306 ipcarg_t iface_method_idx = IPC_GET_ARG1(call); 311 307 remote_iface_func_ptr_t iface_method_ptr = 312 308 get_remote_method(rem_iface, iface_method_idx); … … 346 342 { 347 343 /* Select interface */ 348 switch (( sysarg_t) (IPC_GET_ARG1(*icall))) {344 switch ((ipcarg_t) (IPC_GET_ARG1(*icall))) { 349 345 case DRIVER_DEVMAN: 350 346 /* handle PnP events from device manager */ … … 381 377 } 382 378 383 /** Wrapper for child_device_register for devices with single match id.384 *385 * @param parent Parent device.386 * @param child_name Child device name.387 * @param child_match_id Child device match id.388 * @param child_match_score Child device match score.389 * @return Error code.390 */391 int child_device_register_wrapper(device_t *parent, const char *child_name,392 const char *child_match_id, int child_match_score)393 {394 device_t *child = NULL;395 match_id_t *match_id = NULL;396 int rc;397 398 child = create_device();399 if (child == NULL) {400 rc = ENOMEM;401 goto failure;402 }403 404 child->name = child_name;405 406 match_id = create_match_id();407 if (match_id == NULL) {408 rc = ENOMEM;409 goto failure;410 }411 412 match_id->id = child_match_id;413 match_id->score = child_match_score;414 add_match_id(&child->match_ids, match_id);415 416 rc = child_device_register(child, parent);417 if (EOK != rc)418 goto failure;419 420 return EOK;421 422 failure:423 if (match_id != NULL) {424 match_id->id = NULL;425 delete_match_id(match_id);426 }427 428 if (child != NULL) {429 child->name = NULL;430 delete_device(child);431 }432 433 return rc;434 }435 436 379 int driver_main(driver_t *drv) 437 380 {
Note:
See TracChangeset
for help on using the changeset viewer.