equal
deleted
inserted
replaced
469 \ingroup RealtimeInterface |
469 \ingroup RealtimeInterface |
470 */ |
470 */ |
471 |
471 |
472 void ecrt_release_master(ec_master_t *master /**< EtherCAT master */) |
472 void ecrt_release_master(ec_master_t *master /**< EtherCAT master */) |
473 { |
473 { |
|
474 EC_INFO("Releasing master %i...\n", master->index); |
|
475 |
|
476 if (master->mode != EC_MASTER_MODE_OPERATION) { |
|
477 EC_WARN("Master %i was was not requested!\n", master->index); |
|
478 return; |
|
479 } |
|
480 |
474 ec_master_leave_operation_mode(master); |
481 ec_master_leave_operation_mode(master); |
475 |
482 |
476 module_put(master->device->module); |
483 module_put(master->device->module); |
477 atomic_inc(&master->available); |
484 atomic_inc(&master->available); |
478 |
485 |
479 EC_INFO("Released master %i.\n", master->index); |
486 EC_INFO("Released master %i.\n", master->index); |
480 return; |
|
481 } |
487 } |
482 |
488 |
483 /*****************************************************************************/ |
489 /*****************************************************************************/ |
484 |
490 |
485 /** \cond */ |
491 /** \cond */ |