equal
deleted
inserted
replaced
40 |
40 |
41 #ifndef __EC_MASTER_H__ |
41 #ifndef __EC_MASTER_H__ |
42 #define __EC_MASTER_H__ |
42 #define __EC_MASTER_H__ |
43 |
43 |
44 #include <linux/list.h> |
44 #include <linux/list.h> |
45 #include <linux/sysfs.h> |
|
46 #include <linux/timer.h> |
45 #include <linux/timer.h> |
47 #include <linux/wait.h> |
46 #include <linux/wait.h> |
48 #include <asm/semaphore.h> |
47 #include <asm/semaphore.h> |
49 |
48 |
50 #include "device.h" |
49 #include "device.h" |
79 /** EtherCAT master. |
78 /** EtherCAT master. |
80 * |
79 * |
81 * Manages slaves, domains and IO. |
80 * Manages slaves, domains and IO. |
82 */ |
81 */ |
83 struct ec_master { |
82 struct ec_master { |
84 struct kobject kobj; /**< kobject */ |
|
85 unsigned int index; /**< master index */ |
83 unsigned int index; /**< master index */ |
86 unsigned int reserved; /**< non-zero, if the master is reserved for RT */ |
84 unsigned int reserved; /**< non-zero, if the master is reserved for RT */ |
87 |
85 |
88 ec_cdev_t cdev; /**< Master character device. */ |
86 ec_cdev_t cdev; /**< Master character device. */ |
89 |
87 |
166 }; |
164 }; |
167 |
165 |
168 /*****************************************************************************/ |
166 /*****************************************************************************/ |
169 |
167 |
170 // master creation/deletion |
168 // master creation/deletion |
171 int ec_master_init(ec_master_t *, struct kobject *, unsigned int, |
169 int ec_master_init(ec_master_t *, unsigned int, const uint8_t *, |
172 const uint8_t *, const uint8_t *, dev_t); |
170 const uint8_t *, dev_t); |
173 void ec_master_clear(ec_master_t *); |
171 void ec_master_clear(ec_master_t *); |
174 |
172 |
175 // mode transitions |
173 // mode transitions |
176 int ec_master_enter_idle_mode(ec_master_t *); |
174 int ec_master_enter_idle_mode(ec_master_t *); |
177 void ec_master_leave_idle_mode(ec_master_t *); |
175 void ec_master_leave_idle_mode(ec_master_t *); |