equal
deleted
inserted
replaced
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 |