master/master.h
changeset 239 07bca2b018ed
parent 238 b4960499098f
child 241 cd90a22cab28
equal deleted inserted replaced
238:b4960499098f 239:07bca2b018ed
    36 #include <linux/timer.h>
    36 #include <linux/timer.h>
    37 
    37 
    38 #include "device.h"
    38 #include "device.h"
    39 #include "domain.h"
    39 #include "domain.h"
    40 #include "fsm.h"
    40 #include "fsm.h"
    41 
       
    42 /*****************************************************************************/
       
    43 
       
    44 // Uncomment this to do EoE within a kernel timer. Otherwise, it will be
       
    45 // done in a working queue.
       
    46 
       
    47 #define EOE_TIMER
       
    48 
    41 
    49 /*****************************************************************************/
    42 /*****************************************************************************/
    50 
    43 
    51 /**
    44 /**
    52    EtherCAT master mode.
    45    EtherCAT master mode.
   105     ec_fsm_t fsm; /**< master state machine */
    98     ec_fsm_t fsm; /**< master state machine */
   106     ec_master_mode_t mode; /**< master mode */
    99     ec_master_mode_t mode; /**< master mode */
   107     int (*request_cb)(void *); /**< lock request callback */
   100     int (*request_cb)(void *); /**< lock request callback */
   108     void (*release_cb)(void *); /**< lock release callback */
   101     void (*release_cb)(void *); /**< lock release callback */
   109     void *cb_data; /**< data parameter of locking callbacks */
   102     void *cb_data; /**< data parameter of locking callbacks */
   110 #ifdef EOE_TIMER
       
   111     struct timer_list eoe_timer; /** EoE timer object */
   103     struct timer_list eoe_timer; /** EoE timer object */
   112 #else
       
   113     struct work_struct eoe_work; /**< work structure for EoE workqueue */
       
   114 #endif
       
   115 };
   104 };
   116 
   105 
   117 /*****************************************************************************/
   106 /*****************************************************************************/
   118 
   107 
   119 // master creation and deletion
   108 // master creation and deletion