equal
deleted
inserted
replaced
48 #include <asm/semaphore.h> |
48 #include <asm/semaphore.h> |
49 |
49 |
50 #include "device.h" |
50 #include "device.h" |
51 #include "domain.h" |
51 #include "domain.h" |
52 #include "fsm_master.h" |
52 #include "fsm_master.h" |
|
53 #include "cdev.h" |
53 |
54 |
54 /*****************************************************************************/ |
55 /*****************************************************************************/ |
55 |
56 |
56 /** EtherCAT master mode. |
57 /** EtherCAT master mode. |
57 */ |
58 */ |
82 struct ec_master { |
83 struct ec_master { |
83 struct kobject kobj; /**< kobject */ |
84 struct kobject kobj; /**< kobject */ |
84 unsigned int index; /**< master index */ |
85 unsigned int index; /**< master index */ |
85 unsigned int reserved; /**< non-zero, if the master is reserved for RT */ |
86 unsigned int reserved; /**< non-zero, if the master is reserved for RT */ |
86 |
87 |
|
88 ec_cdev_t cdev; /**< Master character device. */ |
|
89 |
87 ec_device_t main_device; /**< EtherCAT device */ |
90 ec_device_t main_device; /**< EtherCAT device */ |
88 const uint8_t *main_mac; /**< MAC address of main device */ |
91 const uint8_t *main_mac; /**< MAC address of main device */ |
89 ec_device_t backup_device; /**< EtherCAT backup device */ |
92 ec_device_t backup_device; /**< EtherCAT backup device */ |
90 const uint8_t *backup_mac; /**< MAC address of backup device */ |
93 const uint8_t *backup_mac; /**< MAC address of backup device */ |
91 struct semaphore device_sem; /**< device semaphore */ |
94 struct semaphore device_sem; /**< device semaphore */ |
164 |
167 |
165 /*****************************************************************************/ |
168 /*****************************************************************************/ |
166 |
169 |
167 // master creation/deletion |
170 // master creation/deletion |
168 int ec_master_init(ec_master_t *, struct kobject *, unsigned int, |
171 int ec_master_init(ec_master_t *, struct kobject *, unsigned int, |
169 const uint8_t *, const uint8_t *); |
172 const uint8_t *, const uint8_t *, dev_t); |
170 void ec_master_clear(ec_master_t *); |
173 void ec_master_clear(ec_master_t *); |
171 |
174 |
172 // mode transitions |
175 // mode transitions |
173 int ec_master_enter_idle_mode(ec_master_t *); |
176 int ec_master_enter_idle_mode(ec_master_t *); |
174 void ec_master_leave_idle_mode(ec_master_t *); |
177 void ec_master_leave_idle_mode(ec_master_t *); |