Changeset cce8a83 in mainline for uspace/srv/hid/input/generic/input.c
- Timestamp:
- 2011-08-16T17:31:34Z (14 years ago)
- Branches:
- lfn, master, serial, ticket/834-toolchain-update, topic/msim-upgrade, topic/simplify-dev-export
- Children:
- 45058baa
- Parents:
- 6d605e6
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
uspace/srv/hid/input/generic/input.c
r6d605e6 rcce8a83 276 276 kdev->port_ops = port; 277 277 kdev->ctl_ops = ctl; 278 kdev->s ervice_id = 0;278 kdev->svc_id = 0; 279 279 280 280 /* Initialize port driver. */ … … 304 304 mdev->port_ops = port; 305 305 mdev->proto_ops = proto; 306 mdev->s ervice_id = 0;306 mdev->svc_id = 0; 307 307 308 308 /* Initialize port driver. */ … … 328 328 * 329 329 */ 330 static int kbd_add_kbdev(service_id_t service_id )330 static int kbd_add_kbdev(service_id_t service_id, kbd_dev_t **kdevp) 331 331 { 332 332 kbd_dev_t *kdev = kbd_dev_new(); … … 334 334 return -1; 335 335 336 kdev->s ervice_id = service_id;336 kdev->svc_id = service_id; 337 337 kdev->port_ops = NULL; 338 338 kdev->ctl_ops = &kbdev_ctl; 339 339 340 int rc = loc_service_get_name(service_id, &kdev->svc_name); 341 if (rc != EOK) { 342 kdev->svc_name = NULL; 343 goto fail; 344 } 345 340 346 /* Initialize controller driver. */ 341 347 if ((*kdev->ctl_ops->init)(kdev) != 0) { … … 344 350 345 351 list_append(&kdev->kbd_devs, &kbd_devs); 352 *kdevp = kdev; 346 353 return EOK; 347 354 348 355 fail: 356 if (kdev->svc_name != NULL) 357 free(kdev->svc_name); 349 358 free(kdev); 350 359 return -1; … … 356 365 * 357 366 */ 358 static int mouse_add_mousedev(service_id_t service_id )367 static int mouse_add_mousedev(service_id_t service_id, mouse_dev_t **mdevp) 359 368 { 360 369 mouse_dev_t *mdev = mouse_dev_new(); … … 362 371 return -1; 363 372 364 mdev->s ervice_id = service_id;373 mdev->svc_id = service_id; 365 374 mdev->port_ops = NULL; 366 375 mdev->proto_ops = &mousedev_proto; 367 376 377 int rc = loc_service_get_name(service_id, &mdev->svc_name); 378 if (rc != EOK) { 379 mdev->svc_name = NULL; 380 goto fail; 381 } 382 368 383 /* Initialize controller driver. */ 369 384 if ((*mdev->proto_ops->init)(mdev) != 0) { … … 372 387 373 388 list_append(&mdev->mouse_devs, &mouse_devs); 389 *mdevp = mdev; 374 390 return EOK; 375 391 … … 494 510 size_t count, i; 495 511 bool already_known; 496 const char *dev_name = "todo";497 512 int rc; 498 513 … … 529 544 kbd_dev_t *kdev = list_get_instance(kdev_link, 530 545 kbd_dev_t, kbd_devs); 531 if (kdev->s ervice_id == svcs[i]) {546 if (kdev->svc_id == svcs[i]) { 532 547 already_known = true; 533 548 break; … … 536 551 537 552 if (!already_known) { 538 if (kbd_add_kbdev(svcs[i]) == EOK) { 553 kbd_dev_t *kdev; 554 if (kbd_add_kbdev(svcs[i], &kdev) == EOK) { 539 555 printf("%s: Connected keyboard device '%s'\n", 540 NAME, dev_name);556 NAME, kdev->svc_name); 541 557 } 542 558 } … … 562 578 mouse_dev_t *mdev = list_get_instance(mdev_link, 563 579 mouse_dev_t, mouse_devs); 564 if (mdev->s ervice_id == svcs[i]) {580 if (mdev->svc_id == svcs[i]) { 565 581 already_known = true; 566 582 break; … … 569 585 570 586 if (!already_known) { 571 if (mouse_add_mousedev(svcs[i]) == EOK) { 587 mouse_dev_t *mdev; 588 if (mouse_add_mousedev(svcs[i], &mdev) == EOK) { 572 589 printf("%s: Connected mouse device '%s'\n", 573 NAME, dev_name);590 NAME, mdev->svc_name); 574 591 } 575 592 }
Note:
See TracChangeset
for help on using the changeset viewer.