equal
deleted
inserted
replaced
463 |
463 |
464 /****************************************************************************** |
464 /****************************************************************************** |
465 * Realtime interface |
465 * Realtime interface |
466 *****************************************************************************/ |
466 *****************************************************************************/ |
467 |
467 |
468 ec_master_t *ecrt_request_master(unsigned int master_index) |
468 /** Request a master. |
|
469 * |
|
470 * Same as ecrt_request_master(), but with ERR_PTR() return value. |
|
471 */ |
|
472 ec_master_t *ecrt_request_master_err(unsigned int master_index) |
469 { |
473 { |
470 ec_master_t *master, *errptr = NULL; |
474 ec_master_t *master, *errptr = NULL; |
471 |
475 |
472 EC_INFO("Requesting master %u...\n", master_index); |
476 EC_INFO("Requesting master %u...\n", master_index); |
473 |
477 |
526 module_put(master->main_device.module); |
530 module_put(master->main_device.module); |
527 out_release: |
531 out_release: |
528 master->reserved = 0; |
532 master->reserved = 0; |
529 out_return: |
533 out_return: |
530 return errptr; |
534 return errptr; |
|
535 } |
|
536 |
|
537 /*****************************************************************************/ |
|
538 |
|
539 ec_master_t *ecrt_request_master(unsigned int master_index) |
|
540 { |
|
541 ec_master_t *master = ecrt_request_master_err(master_index); |
|
542 return IS_ERR(master) ? NULL : master; |
531 } |
543 } |
532 |
544 |
533 /*****************************************************************************/ |
545 /*****************************************************************************/ |
534 |
546 |
535 void ecrt_release_master(ec_master_t *master) |
547 void ecrt_release_master(ec_master_t *master) |