equal
deleted
inserted
replaced
128 |
128 |
129 /*****************************************************************************/ |
129 /*****************************************************************************/ |
130 |
130 |
131 /** |
131 /** |
132 Domain destructor. |
132 Domain destructor. |
|
133 Clears and frees a domain object. |
|
134 */ |
|
135 |
|
136 void ec_domain_destroy(ec_domain_t *domain /**< EtherCAT domain */) |
|
137 { |
|
138 ec_datagram_t *datagram; |
|
139 |
|
140 // dequeue datagrams |
|
141 list_for_each_entry(datagram, &domain->datagrams, list) { |
|
142 if (!list_empty(&datagram->queue)) // datagram queued? |
|
143 list_del_init(&datagram->queue); |
|
144 } |
|
145 |
|
146 // destroy self |
|
147 kobject_del(&domain->kobj); |
|
148 kobject_put(&domain->kobj); |
|
149 } |
|
150 |
|
151 /*****************************************************************************/ |
|
152 |
|
153 /** |
|
154 Clear and free domain. |
|
155 This method is called by the kobject, |
|
156 once there are no more references to it. |
133 */ |
157 */ |
134 |
158 |
135 void ec_domain_clear(struct kobject *kobj /**< kobject of the domain */) |
159 void ec_domain_clear(struct kobject *kobj /**< kobject of the domain */) |
136 { |
160 { |
137 ec_datagram_t *datagram, *next; |
161 ec_datagram_t *datagram, *next; |
462 } |
486 } |
463 |
487 |
464 /*****************************************************************************/ |
488 /*****************************************************************************/ |
465 |
489 |
466 /** |
490 /** |
467 Dequeues all datagrams from the masters datagram queue. |
|
468 */ |
|
469 |
|
470 void ec_domain_dequeue_datagrams(ec_domain_t *domain /**< EtherCAT domain */) |
|
471 { |
|
472 ec_datagram_t *datagram; |
|
473 |
|
474 list_for_each_entry(datagram, &domain->datagrams, list) { |
|
475 if (!list_empty(&datagram->queue)) // datagram queued? |
|
476 list_del_init(&datagram->queue); |
|
477 } |
|
478 } |
|
479 |
|
480 /*****************************************************************************/ |
|
481 |
|
482 /** |
|
483 Formats attribute data for SysFS reading. |
491 Formats attribute data for SysFS reading. |
484 \return number of bytes to read |
492 \return number of bytes to read |
485 */ |
493 */ |
486 |
494 |
487 ssize_t ec_show_domain_attribute(struct kobject *kobj, /**< kobject */ |
495 ssize_t ec_show_domain_attribute(struct kobject *kobj, /**< kobject */ |